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中运行查询也可以对情况有所了解。