Visual Studio和Ms Access VB.net数据集填充方式不起作用

Visual Studio和Ms Access VB.net数据集填充方式不起作用,vb.net,visual-studio,ms-access,visual-studio-2012,Vb.net,Visual Studio,Ms Access,Visual Studio 2012,我有一个名为GRN的表,带有MS Access数据库 如下图所示 grn_id (Autonumber) grn_number (Text) grn_date (Date/Time) invoice_number (Text) invoice_date (Date/Time) voucher_number (Text) supplier (Text) 我已经用VB.Net Visual Studio 2012创建了一个数据集 在数据集中,我创建了一个表适配器和一个查询 使用以下代码 SELEC

我有一个名为GRN的表,带有MS Access数据库 如下图所示

grn_id (Autonumber)
grn_number (Text)
grn_date (Date/Time)
invoice_number (Text)
invoice_date (Date/Time)
voucher_number (Text)
supplier (Text)
我已经用VB.Net Visual Studio 2012创建了一个数据集 在数据集中,我创建了一个表适配器和一个查询 使用以下代码

SELECT        grn_id, grn_number, grn_date, invoice_number, invoice_date, voucher_number, supplier
FROM            grn
WHERE        (grn_number = ?)
Me.GrnTableAdapter.FillByGRN(dataTable:=Me.DocmanDataSet.grn, grn_number:=finfo.Text)
并将其命名为FillByGRN

在表单中,我添加了以下代码

SELECT        grn_id, grn_number, grn_date, invoice_number, invoice_date, voucher_number, supplier
FROM            grn
WHERE        (grn_number = ?)
Me.GrnTableAdapter.FillByGRN(dataTable:=Me.DocmanDataSet.grn, grn_number:=finfo.Text)
当我运行应用程序并给textfield finfo一个值,然后单击我的按钮填充时,它不工作,并且在填充表适配器的行上停止


任何解决方案请考虑您提到的例外情况,您的机器上似乎没有安装Jet数据库引擎驱动程序。下载并安装该驱动程序,或者如果您运行的是Access 2010或更高版本,请使用ACE.OLEDB连接字符串,而不是老式的Jet.OLEDB

连接字符串如下所示:

Provider=Microsoft.ACE.OLEDB.12.0;Data Source=<Access Database Path>;
持久安全信息=False


您可以阅读有关OLEDB连接字符串的更多信息。

需要检查两件事:1。如果直接针对数据库运行,查询是否返回结果?2.将FillBy行放在Try/Catch中,看看是否有异常?还有一件事:确保运行时连接字符串指向您认为的同一个数据库。通常情况下,设计时连接字符串与运行时连接字符串不同,我们不断碰壁。我直接在查询生成器中执行了查询,并且在使用Try-catch时工作得很好,我得到了Microsoft.Jet.OLEDB.4.0的异常。未注册。duse Me.GrnTableAdapter.FillByGRNMe.,fileInfo.Text