Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.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
Vb.net 我想检索字段中每个计数特定的数据_Vb.net - Fatal编程技术网

Vb.net 我想检索字段中每个计数特定的数据

Vb.net 我想检索字段中每个计数特定的数据,vb.net,Vb.net,有没有办法做到这一点?我想检索字段中的每个数据计数 这是我的密码 Dim cmd1 As New SqlCommand("SELECT COUNT(support) AS support " & _ "FROM Studz_Table WHERE support ='others'",conn) dim int1 as integer = cmd1.executescalar Dim cmd2 As New SqlComma

有没有办法做到这一点?我想检索字段中的每个数据计数

这是我的密码

 Dim cmd1 As New SqlCommand("SELECT COUNT(support) AS support " & _
                            "FROM   Studz_Table WHERE support ='others'",conn)
dim int1 as integer = cmd1.executescalar

Dim cmd2 As New SqlCommand("SELECT COUNT(support) AS support " & _
                            "FROM   Studz_Table WHERE support ='myself'",conn)
dim int2 as integer = cmd1.executescalar
Dim cmd3 As New SqlCommand("SELECT COUNT(support) AS support " & _
                            "FROM   Studz_Table WHERE support ='parent'",conn)
dim int3 as integer = cmd1.executescalar

有什么简单的方法可以做到这一点吗?

您可以使用SUM和CASE的组合来检索每种类型的计数

Dim cmd As New SqlCommand("SELECT SUM(CASE WHEN support = 'others' THEN 1 ELSE 0 END) AS OthersCount, " & _
                          "SUM(CASE WHEN support = 'myself' THEN 1 ELSE 0 END) AS MyselfCount, " & _
                          "SUM(CASE WHEN support = 'parent' THEN 1 ELSE 0 END) AS ParentCount " & _
                            "FROM   Studz_Table WHERE support ='others'",conn)
您需要使用
ExecuteReader
而不是
ExecuteScalar
来访问每一列:

SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
     int int1 = reader[0];
     int int2 = reader[1];
     int int3 = reader[2];
}

嗯..还有一件事..我们可以在sql中使用更新中的循环吗?@user3211476:您的第二个问题看起来不同,请先慢慢接受上面的答案。然后再问一个单独的问题。谢谢。嗯……如何接受答案?嗯..我的意思是..接受答案的按钮在哪里可以使这个问题成为已解决的..?@user3211476-单击答案左侧的勾号将其变为绿色,并将其标记为已接受。如果你认为答案是有用的,你也可以选择点击上箭头。