C# SqlCommand筛选数据
大家好,我有这个密码 我希望它能做一件简单的事情:C# SqlCommand筛选数据,c#,sql,sql-server,datagridview,sqlcommand,C#,Sql,Sql Server,Datagridview,Sqlcommand,大家好,我有这个密码 我希望它能做一件简单的事情: SELECT * FROM klisluz WHERE IDzajsluz= id SELECT * FROM klisluz WHERE subkey = vyberradek 但这件简单的事情让这个问题变得复杂: 目前,它向我显示子键不等于vyberradek的行。这怎么可能 vyberradek是我通过string for (int i = 0; i < dtg_ksluzby.Rows.Count;i++)
SELECT * FROM klisluz WHERE IDzajsluz= id
SELECT * FROM klisluz WHERE subkey = vyberradek
但这件简单的事情让这个问题变得复杂:
目前,它向我显示子键不等于vyberradek的行。这怎么可能
vyberradek
是我通过string
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();
}
for(int i=0;i
有人能帮我解决这件事吗?
提前谢谢。
我发布了一张图片,显示它选择了不应该选择的行。尝试从
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();
}
}
for(int i=0;i
引号(“”)只能用于varchar字段,不能用于数值
编辑:在这种情况下,如果数字类型实际上是数字的,则应使用数字类型嗨,我再次尝试了这两种可能性,但它仍然选择了不等于subkey=vyberradek:w子键的类型是什么?text还是varchar?subkey是数据类型char(3)我最好改一下,好吗?我甚至打算在这个子键中只使用数字啊,原来我的问题正在更新,它正在复制,你有时间聊天吗?让我们看看子键的数据类型是什么?