问题标签 [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 投票
4 回答
112992 浏览

c# - DataAdapter.Fill(数据集)

我尝试通过 OleDB 从 Access 数据库中获取一些数据DataSet。但是方法DataSet之后是空的Fill()。当我在 D* 中手动触发它们时,相同的语句有效并返回 1 行。

提前致谢。

新的工作代码:

现在正确的代码贴在上面,带有一个字典来更舒适地访问数据。希望有人在这篇文章中找到帮助。谢谢大家让它工作!

0 投票
1 回答
2349 浏览

c# - C# Typed DataSets:OleDBDataAdapter 使用 Typed DataSet 中的列名,而不是 ExcelSheet

我将 VS 2010 与 C# 一起用于 Windows 窗体应用程序。

我需要将 Excel 工作表中的数据加载到 DataSet 上。我使用 DataSet 设计器创建了 DataSet,并手动添加了表和列(FirstTable, Column1, Column2)。由于我经常访问这些列,因此使用类型化数据集而不是使用非类型化数据集的代码会更简洁。

当我使用 OleDBDataAdapter 并使用 Fill on 填充 DataTable 时FirstTable,它​​是空的,Column1并且Column2有两个额外的列来自 Excel 工作表(ExcelCol1, ExcelCol2)。因此,除非我给了相同的 excel 列名称FirstTable(而不是Column1如果Column2我称之为ExcelCol1and ExcelCol2),它不会填充我通过设计器创建的 DataColumns。

有没有办法告诉 DataSet 忽略来自 Excel 的列,只填充已经定义的 DataColumns?

如果这是不可能的,我可以通过 DataConnection 以某种方式连接 Excel 工作表来创建 DataTables 的布局吗?我唯一不确定的是excel文件是用户定义的,所以用户浏览到excel文件来填充数据集。但是所有这些 excel 文件的列总是相同的。因此,我想使用 Typed DataSet 预设布局。

0 投票
3 回答
1083 浏览

c# - 在后台线程上使用 OleDbDataAdapter 会导致我的 UI 无法正确更新?

我有一个应用程序,用户可以在其中选择一个 Excel 文件,该 Excel 文件是使用OleDbDataAdapter另一个线程上的一个读取的,一旦读取完成,它会将我的 ViewModel 中的命令的 CanExecute 属性更新为 true,因此启用了“保存”按钮。

我的问题是,即使命令的 PropertyChanged 事件被引发并且 CanExecute 被评估为 true,UI 上的按钮也永远不会启用,直到用户执行某些操作与应用程序交互(单击它,选择一个文本框等) )

这是一些显示问题的示例代码。只需将其连接到绑定到SaveCommand和的两个按钮SelectExcelFileCommand,然后创建一个带有调用列的 excel 文件IDSheet1测试它。

编辑

我尝试使用 Dispatcher 以更高的优先级发送 PropertyChanged 事件,并将 PropertyChanged 调用移到异步方法之外,但是这两种解决方案都无法正确更新 UI。

如果我删除线程,或者在调度程序线程上启动从 Excel 读取的进程,它确实有效,但是这两种解决方案都会导致应用程序在读取 excel 文件时冻结。在后台线程上阅读的重点是用户可以在文件加载时填写表单的其余部分。这个应用程序使用的最后一个文件有近 40,000 条记录,并且使应用程序冻结了一两分钟。

0 投票
1 回答
3838 浏览

c# - OleDbDataAdapter.Update() 与 OleDbCommandBuilder

我正在使用 C# 和 OleDb 访问 Oracle 数据库,我已成功从查询中提取数据,但我无法使用更新数据库OleDbAdapter.Update(),我的更新代码如下。(“适配器”是对OleDbAdapter用于成功从数据库中提取数据的对象的引用。)

我目前收到“未准备好命令”。上述代码第一行的错误。任何建议,我将不胜感激。

(编辑: ds 是数据集)

0 投票
1 回答
3909 浏览

c# - 通过更改列名在 C# 中通过 OleDbDataAdapter 导入 Excel

您好,我尝试在 C# 中将 Excel 文档导入我的 DataGridView。到目前为止它有效,但有一个包含数据的列,我需要“排序”。

如果这很简单,我会在 OleDbDataAdapter 查询中执行“WHERE test > 0”。

但是.. Column 的名称随每个文档而变化,我需要经常使用它。到目前为止,我得到了这个:

在选择中,我需要输入一条线,说明该列的前 3 个字母相同,但后面的数字不同。像:

QTA 12345、QTA 13213、QTA 92818。

就像是:

但随后使用相同的前 3 个字母和随机的最后一个数字。

有人能帮助我吗?

0 投票
1 回答
5643 浏览

c# - 使用 OleDbAdapter 删除记录

我是 C# 的初学者。我正在尝试创建一个网站

我有一个问题要提供删除选项。没有错误显示。但是记录没有被删除

请帮忙

protected void delete_button_Click(object sender, EventArgs e) {

谢谢你

0 投票
2 回答
3282 浏览

c# - OleDbDataAdapter:无法更新数据库

从昨天开始我就一直在做这个,我只是无法更新我的数据库。有3张桌子。这是其中一个 WinForms 的一段代码。它加载数据并显示,但是在网格中手动更改某事后,我通过调用 Update 得到错误,或者根本没有发生任何事情。

请帮忙,因为我快疯了。

和这里... :

//------------------------------------------------ ---------------------------------

行。我为此更改了 sqlsave 方法

现在我终于得到了比“错误”更多的信息

System.Data.dll 中发生“System.InvalidOperationException”类型的未处理异常附加信息:ExecuteNonQuery 需要打开且可用的连接。连接的当前状态为关闭。

所以让我改变一下,如果是这样,我会告诉你的!

//--------------------------------

不。不。太快了,坚持不下去了。现在,在尝试保存时,我再次遇到异常,打开了连接,但是(我无法发布图像)当我调试它时,我看到我的 OleDbCommand 类型的对象为 _commandText

“UPDATE Samochody SET Item=?, Datadyspozycji autem od=?, ...”

等等。我想这就是原因。我对吗?该怎么办?

0 投票
2 回答
2040 浏览

c# - INSERT INTO 语句中的语法错误。谁能帮我这个?

这是一个例外:

这是我用来向我的 Access 2007 数据库添加新行的代码块。这段代码在我的 db.open 和 db.close 代码之外。我之前遇到了连接错误,但我注释掉了 db.dispose 行,现在它给了我一个语法错误。我试着做一个 rDS.InsertCommand。这没有返回任何错误,但它没有将新行插入数据库。我以前从来没有在我的代码中这样做过,所以如果我以正确的方式去做,我不会相信。我想知道问题是否出在我的 Form1_Load 中建立数据库连接时。我使用了 Microsoft.ACE.OLEDB.12.0,但在寻求解决我的错误的帮助时,似乎大多数人一直在使用 Microsoft.JET.OLEDB.4.0。我尝试切换到那个,但这也给了我一个错误。我' 我真的不确定问题是什么,我希望我能得到一些帮助。在过去的几天里,我一直盯着我的电脑,试图自己弄清楚。但我没有运气。

0 投票
1 回答
2258 浏览

.net - 如何在 DataSet 中选择列的数据类型

作为数据转换的一部分,我需要从 Excel 工作表中读取数据。某些列主要包含数字数据,但可能在 Excel 工作表中的某处包含一些字母数字数据。问题是,我的转换将字母数字值视为空(或空白。使用 .ToString() 方法返回“”)。

为了连接到 Excel,我创建了一个 oledb 连接,创建了一个 OleDbDataAdapter,然后用适配器填充了一个 DataSet。

这是连接的VB代码:

我认为数据适配器正在根据它查看的第一行但多行来确定列的数据类型。它决定带有数字的列是数字的,这是我的问题的开始。

更改 Excel 中列的格式似乎不会影响我的数据集中的数据类型。

有没有办法告诉 dataadapter 或 dataset 什么类型的数据用于列?或者我应该尝试在我的 SQL 语句中转换数据?

任何帮助将非常感激!

0 投票
1 回答
574 浏览

database - Visual Basic 2008:可以使用命令生成器更新通过数据关系连接的表吗?

我有三个表,两个数据关系连接它们(表 1 -> 表 2 <- 表 3)。我一直在尝试使用命令生成器来生成本文中的更新、删除和插入命令,我似乎无法让这种方法发挥作用。目前我收到一条错误消息,提示插入命令中的语法有问题。另外我正在使用Access数据库。

是否可以为此使用命令生成器,还是我必须自己编写插入、更新和删除命令?