问题标签 [oledbdataadapter]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
11351 浏览

c# - 使用 OleDbDataAdapter 插入 Access db

我想在 Access 数据库中插入一些数据。

System.Data.OleDb.OleDbException
消息:INSERT INTO 语句中的语法错误。
来源:Microsoft JET 数据库引擎。

如果我更改插入命令:

并将传入的数据更改为只有一个我得到的文本值:

没有为一个或多个必需参数指定值。

我错过了什么吗?

0 投票
2 回答
2400 浏览

c# - 在从 excel 导入数据集之前操作数据

我在 Excel 表中有几列数据,我必须将它们导入到我的应用程序中。

我这样做使用 -

虽然这成功导入数据,但有时数据导入不正确,即有时1234567可以将数字导入为1.23E+06

'1234567如果excel文件中的数据是代替1234567(附加单引号)可以解决这个问题

我现在正在尝试操作从 excel 中获取的数据,以便在导入数据之前,我可以以编程方式将 a 附加'到所有值以防止错误导入。

我什至尝试使用 OleDbDataAdapter.Update 但我想这不会有帮助,因为这发生在数据导入之后。那是对的吗?

我可以操作数据以便导入正确的数据吗?我该怎么做?

0 投票
1 回答
14718 浏览

c# - 通过 OleDbDataAdapter 方法(C#)从 Excel 文件中进行古怪的 SELECT

我有一个这种形式的 Excel 文件:

也就是说,除了最后一行之外,整个第 3 列都是空的。我通过 OleDbDataAdapter 访问 Excel 文件,返回一个 DataTable:这是代码。

关键是,在这种情况下,我的代码返回一个只有第 1 列和第 2 列的 DataTable。
我的猜测是 JET 引擎试图通过每列中第一个单元格的类型来推断列类型;第一个值为 null,则忽略整列。
我试图填写零,这段代码实际上返回了所有三列;这显然是最不可取的解决方案,因为我必须处理大量小文件。
反转选择范围(从,即 "A1:C5" 到 "C5:A1" )也不起作用。我正在寻找更优雅的东西。
我已经找到了几篇讨论类型不匹配的帖子(int 列中的 varchar 单元格,反之亦然),但实际上还没有找到与此相关的任何内容。
谢谢阅读!

编辑

又是奇怪的行为。我必须主要处理 Excel 2003 .xls 文件,但由于这个问题已经得到解答,我想我可以针对 Excel 2007 .xslx 文件测试我的代码。连接字符串如下:

我收到“外部表不是预期格式”异常,我认为这是标准异常,当 ACE/JET 和正在打开的文件之间存在版本不匹配时。

字符串

意味着我使用的是最新版本的 OLEDB,我快速浏览了一下,这个版本用于需要连接到 .xlsx 文件的任何地方。
我只尝试了一个香草提供程序(只有 Excel 12.0,没有 IMEX 或 HDR),但我得到了同样的例外。
我在 .NET 2.0.50727 SP2 上,也许是时候升级了?

0 投票
1 回答
2820 浏览

c# - 在 C# OleDbDataAdapter.fill 方法中没有给出任何数据或错误

我正在使用数据适配器从访问数据库中提取数据(参见下面的代码)。当我在 Access 数据库中运行 SQL 时,我得到了预期的数据。但是,当我单步执行代码时,填充方法只生成表定义而不生成行。

我过去曾多次使用此过程,它仍然适用于这些呼叫。

访问中的 SQL 再次返回正确的数据,在 C# 中我没有收到任何错误消息,但我也没有收到数据。以前有人见过吗?

`
public void GetQueries(ref DataTable tSQL, String tool, string Filter, OleDbConnection lConn) { OleDbDataAdapter dadapt = new OleDbDataAdapter(); //访问字符串的数据适配器 lSQL = "";

0 投票
4 回答
11929 浏览

c# - 将 Excel 导入 ASP.NET 时的 OleDbDataAdapter 和列转换

我正在使用 c# 导入 excel。但是 CustomerOrderNR 列包含这些类型的值:

但是当我执行这些代码时:

它返回 System.Double 数据类型的 CustomerOrderNR 列。我想更改数据表列类型,但随后返回异常,例如:

不能在 SQL 语句中将 Column 的 DataType 从 Double 更改为 String 吗?

0 投票
1 回答
2939 浏览

c# - 使用 OleDbDataAdapter 的 Excel 到网格视图问题

我正在使用 Visual Studio 2010 创建一个 Windows 窗体应用程序。

我使用 OleDbDataAdapter 方法将数据从 excel 文件填充到 DataGridView。

这是我的代码

现在的问题是,如果某些单元格在 excel 文件输出中合并,会有点不同。这是更好理解的图像。 在此处输入图像描述

那么我该如何解决这个问题呢?

我想如果我可以识别合并单元格,那么我可以解决这个问题。但我目前没有一个明确的想法。

有没有更好的方法在网格视图中表示 excel 数据,因为它在 excel 文件中?

任何答案都会有所帮助。请分享任何建议。

谢谢

约韩

0 投票
3 回答
1499 浏览

database - OleDbCommandBuilder OleDbDataAdapter 问题 VB.Net

我在名为 first 的 2003 访问数据库中有一个字段。我运行数据适配器更新命令,给我“UPDATE 语句中的语法错误”。我将字段名称更改为 firstName,再次尝试更新,它可以工作。我已经有一堆程序使用数据库并使用“first”字段,我真的必须重命名我的字段,返回并更新我的所有程序以从 firstName 而不是 firstName 读取吗?如果没有必要,我真的不想走那条路。有什么建议么?谢谢!

(提供者=microsoft.jet.oledb.4.0)

*编辑:我的意思是指定,我希望使用 commandbuilder 的答案(但它不会那样工作)。很抱歉有任何混淆。

0 投票
2 回答
1292 浏览

c# - 如何摆脱Win 7中的异常“'Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册”

我在 Win 7 机器上使用 VS2010 在 .NET 4.0 框架上运行 ASP.NET C# 应用程序。在我的代码中,我想将 Excel 文件与“DataTable”对象链接起来。即我想访问 Excel 文件中的数据并将其存储在 DataTable 对象中。所以我使用了以下代码片段:

_

我在链接http://www.microsoft.com/downloads/en/confirmation.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en安装了可用的 exe

但是在运行我的代码时,我仍然会遇到相同的异常消息。我得到的例外是“'Microsoft.ACE.OLEDB.12.0'提供程序未在本地计算机上注册”

PLz帮我解决这个问题。

提前致谢。

0 投票
2 回答
1747 浏览

c# - OleDbDataAdapter:检查表是否存在?

我在 C# 中有一个处理.xls文件的程序,我在其中查询数据库,如下所示:

SELECT * FROM [" +sheet + "$]

如果工作表不存在,程序就会崩溃。

我需要首先检查表是否存在,如果存在,请进行一些查询。

使用,OleDbDataAdapterSQL查询时是否有任何此类选项?SELECTINSERTUPDATEDELETE

0 投票
1 回答
3838 浏览

c# - 使用 MS Access 上的 WHERE 子句读取列传递组合框文本值

我正在开发一个用 C# 编写的 Windows 应用程序,并使用 MS Access 2003 作为我的数据库。当我编写查询时,我遇到了奇怪的问题

并使用 oledbadapter 执行,数据集可视化工具无法识别该where子句并返回空表。然而

将返回过滤后的列。

这是我的代码片段:

输出:当我在 where 子句中传递文本值时返回空表。