Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SqlCommand筛选数据_C#_Sql_Sql Server_Datagridview_Sqlcommand - Fatal编程技术网

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)我最好改一下,好吗?我甚至打算在这个子键中只使用数字啊,原来我的问题正在更新,它正在复制,你有时间聊天吗?让我们看看子键的数据类型是什么?