【发布时间】:2020-01-09 16:47:48
【问题描述】:
我正在尝试此代码,但它在 da.Fill(dt) 上显示错误
No value given for one or more required parameters.
为什么会显示该错误?我清楚地检查了所有数据库、表和字段的名称,它们都是正确的,并且我使用日期/时间字段作为日期时间。
你能帮我解决这个问题吗?
string conn = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\ahmed\OneDrive\Documents\shop.accdb";
OleDbConnection ccc = new OleDbConnection(conn);
ccc.Open();
string css = "SELECT * from tbl3 Where dateitem between '" + dateTimePicker1.Value.ToString() + "%' AND '" + dateTimePicker2.Value.ToString()+"%'";
OleDbCommand non = new OleDbCommand(css, ccc);
OleDbDataAdapter da = new OleDbDataAdapter(non);
DataTable dt = new DataTable();
da.Fill(dt);
count = Convert.ToInt32(dt.Rows.Count.ToString());
dataGridView1.DataSource = new BindingSource(dt, null);
【问题讨论】:
-
使用参数代替自己烘焙SQL
-
这不是查询数据库的方法。你需要use parameters。
-
... 并将日期作为日期而不是字符串传递。
-
你的数据库可以在日期字符串中使用 % 吗?!
-
是的,它可以使用 % 我试过了,但同样的错误
标签: c#