OLEDB参数化查询

public void LoadDB()

{

string FileName = @"c:\asdf.accdb";

string query = "SELECT ID, Field1 FROM Table1 WHERE ID=? AND Field1=?";

string strConn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + FileName;

OleDbConnection odc = new OleDbConnection(strConn);

dAdapter = new OleDbDataAdapter();

OleDbCommand cmd = new OleDbCommand(query,odc);

cmd.Parameters.Add("?", OleDbType.Integer, 5).Value = 1234;

cmd.Parameters.Add("?", OleDbType.BSTR, 5).Value ="asdf";

dAdapter.SelectCommand = cmd;

ds = new DataSet();

dAdapter.Fill(ds);

dataGridView1.DataSource = ds.Tables[0];

}

我正在尝试使用参数化查询将访问文件绑定到datagridview中。它发现列名很好,但是内容为空。

如何解决此问题?

回答:

在我的测试程序中,ds.Tables [0]

.Rows.Count数据表实际上返回了1行(因为我的测试数据库中有一行与查询本身匹配)。如果您在这条线上中断了,您应该首先可以查看数据是否进入数据表。尝试这个:

dataGridView1.DataSource = ds.Tables[0];

dataGridView1的前端绑定是什么样的?在Access中运行查询也可以对情况有所了解。

以上是 OLEDB参数化查询 的全部内容, 来源链接: utcz.com/qa/405294.html

回到顶部