l46*_*kok 1 .net c# oledb ms-access winforms
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];
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用参数化查询将访问文件绑定到 datagridview。它发现列名很好,但内容为空。
我该如何解决这个问题?
下面是参数化查询如何与 CSharp、OleDB 一起使用的示例。
try
{
connw.Open();
OleDbCommand command;
command = new OleDbCommand(
"Update Deliveries " +
"SET Deliveries.EmployeeID = ?, Deliveries.FIN = ?, Deliveries.TodaysOrders = ? , connw);
command.Parameters.Add(new OleDbParameter("@EMPID", Convert.ToDecimal(empsplitIt[1])));
command.Parameters.Add(new OleDbParameter("@FIN", truckSplit[1].ToString()));
command.Parameters.Add(new OleDbParameter("@TodaysOrder", "R"));
catchReturnedRows = command.ExecuteNonQuery();//Commit
connw.Close();
}
catch (OleDbException exception)
{
MessageBox.Show(exception.Message, "OleDb Exception");
}
Run Code Online (Sandbox Code Playgroud)
这适用于任何 sql 语句,您必须指定问号“?” 到每个参数,然后在下面您必须创建参数并按照您布置问号的顺序添加它们,以便将正确的数据放入正确的字段中。
| 归档时间: |
|
| 查看次数: |
16047 次 |
| 最近记录: |