大家好,我有这个代码,我想让它做简单的事情:
SELECT * FROM klisluz WHERE IDzajsluz= id
SELECT * FROM klisluz WHERE subkey = vyberradek但是这件简单的事情造成了这个问题:现在它显示了子键不等于vyberradek的行。那件事怎么可能?
vyberradek是我通过string传输的INT ID
for (int i = 0; i < dtg_ksluzby.Rows.Count;i++)
{
var row = dtg_ksluzby.Rows[i];
int id = (int)row.Cells["ID"].Value;
using (var novyprikaz3 = new SqlCommand("SELECT * from klisluz WHERE subkey= '" + vyberradek + "' AND IDzajsluz='" + id + "'", spojeni))
{
spojeni.Open();
SqlDataReader precti3 = novyprikaz3.ExecuteReader();
if (precti3.HasRows)
{
row.Cells[4].Value = true;
}
spojeni.Close();
}有人能帮我解决这个问题吗?提前谢谢。

我发布了一张图片,显示它选择了不应该选择的行。
发布于 2013-07-18 22:57:03
尝试从IDzajsluz筛选器中删除报价:
for (int i = 0; i < dtg_ksluzby.Rows.Count;i++)
{
var row = dtg_ksluzby.Rows[i];
int id = (int)row.Cells["ID"].Value;
using (var novyprikaz3 = new SqlCommand("SELECT * from klisluz WHERE subkey= '" + vyberradek + "' AND IDzajsluz=" + id , spojeni))
{
spojeni.Open();
SqlDataReader precti3 = novyprikaz3.ExecuteReader();
if (precti3.HasRows)
{
row.Cells[4].Value = true;
}
spojeni.Close();
}
}引号('')只能用于varchar字段,不能用于数值。
编辑:LIKE在这种情况下不好用,如果数值类型实际上是数值类型,则应使用数值类型
https://stackoverflow.com/questions/17726693
复制相似问题