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