Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.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# 打开SQL命令对数据进行排序_C#_Sql_Sql Server - Fatal编程技术网

C# 打开SQL命令对数据进行排序

C# 打开SQL命令对数据进行排序,c#,sql,sql-server,C#,Sql,Sql Server,您好,提前谢谢您的帮助 我在读取SQL数据库时遇到问题 如果指定列名,该命令将100%起作用 SqlCommand com = new SqlCommand("Select * From Stock where Fuad > 0 ", con); 但问题是,我的程序跟踪用户之间的股票运动,我需要使用类似于的命令 String currentuser = //(current user logged in, passed when logged in) SqlCommand com = n

您好,提前谢谢您的帮助

我在读取SQL数据库时遇到问题

如果指定列名,该命令将100%起作用

SqlCommand com = new SqlCommand("Select * From Stock where Fuad > 0 ", con);
但问题是,我的程序跟踪用户之间的股票运动,我需要使用类似于的命令

String currentuser = //(current user logged in, passed when logged in)
SqlCommand com = new SqlCommand("Select * From Stock where '" + currentuser + "' > 0 ", con);
但是当我运行这段代码时,我得到一个错误:“将varchar值'Fuad'转换为数据类型int时,转换失败。”现在我知道我在sql中的列被设置为int。但是这对列名有什么影响

我可以为每个用户写出来,但从长远来看,这毫无意义,因为对于每个新员工,我都必须写一个更新。有没有一种方法可以使用通用调用方ie:currentuser来帮助实现这一点

SQL数据库设置为int列,每列都有技术人员/员工的姓名,并跟踪他当前预订的每个部分的数量

如果是Int,我就不知道如何调用列名,因为我使用的任何字符串都是varchar

加载此文件的完整代码是

            SqlConnection con = new SqlConnection(Connectstring)
            con.Open();
            SqlCommand com = new SqlCommand("Select * From Stock where '" + currentuser + "' > 0 ", con);

            try
            {

                SqlDataReader dr = com.ExecuteReader();
                while (dr.Read())
                {
                    ListViewItem item = new ListViewItem(dr["ItemName"].ToString());
                    item.SubItems.Add(dr["ItemCode"].ToString());
                    item.SubItems.Add(dr[currentuser].ToString());
                    listView1.Items.Add(item);

                }
                dr.Close();

如前所述,如果我用列名替换“currentuser”,这将100%起作用。是否可以使用字符串调用它,如果不能,我将不得不找到另一种方法来执行此操作。

尝试使用
[Fieldname]
这种方法:

String currentuser = //(current user logged in, passed when logged in)
SqlCommand com = new SqlCommand("Select * From Stock where [" + currentuser + "] > 0 ", con);

请尝试以以下方式使用
[Fieldname]

String currentuser = //(current user logged in, passed when logged in)
SqlCommand com = new SqlCommand("Select * From Stock where [" + currentuser + "] > 0 ", con);
只是不要在列名“'”中使用单个括号


只是不要在列名“'”中使用单个括号

“现在我知道我在sql中的列设置为Int”-你能在sql中粘贴列定义和几行示例数据吗?currentuser返回什么?现在我知道我在sql中的列设置为Int”-你能在sql中粘贴列定义和几行示例数据吗?currentuser返回什么?
Fuad
不是关键字,所以不需要[]?使用[]是所有select命令的最佳实践。如果这是您否决的原因,那么您的否决是不正确的。
Fuad
不是关键字,因此不需要[]?使用[]是所有select命令的最佳实践。如果这就是你投否决票的原因,那么你的否决票是不正确的。