我在运行代码时遇到了一些问题。它说
条件表达式中的数据类型不匹配
在
OleDbDataReader reader = command.ExecuteReader();
我不知道这是什么错误。谁能帮我 ?
private void JumlahLembar()
{
foreach (DataGridViewRow row in JadwalisiGV.Rows)
{
int lim30den50tot;
if (!row.IsNewRow)
{
OleDbConnection kon = new OleDbConnection(koneksi);
OleDbCommand command = kon.CreateCommand();
kon.Open();
command.CommandText = "select * from [StokLembar$] where [Limit] = '" + row.Cells["Limit"].Value + "'";
OleDbDataReader reader = command.ExecuteReader();
while (reader.Read())
{
int den50 = int.Parse(reader["Lembar Denom 50"].ToString());
int den100 = int.Parse(reader["Lembar Denom 100"].ToString());
if (row.Cells["Limit"].Value.ToString() == "30")
{
lim30++;
lim30den50tot = lim30 * lim30 * 2 * 1000000 * den50 * 50000;
TotalDen50Box.Text = lim30den50tot.ToString();
}
}
kon.Close();
}
}
}
您将其设置Limit
为文本列,很可能是数字。尝试以下不带引号
command.CommandText = "select * from [StokLembar$] where [Limit] = " + row.Cells["Limit"].Value`
您最好使用参数而不是串联SQL语句,以避免sql注入攻击。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句