数据存取问题2
Dim sql1 As String = " select count(test.needhelp) from test where needhelp= 'yes ';select count(test.needhelp) from test where needhelp = 'no ' "
'获得需要帮助的人数 "
'获得不需要帮助的人数
Dim connectionstring1 As String = " initial catalog = student;data source = (local)\SQLExpress;integrated security=sspi " '建立新的连接
Dim sqlcommand As SqlCommand = New SqlCommand(sql1, New SqlConnection(connectionstring1))
sqlcommand.Connection.Open()
MsgBox(sql1.ToString) '显示人数
Dim datareader As SqlDataReader = sqlcommand.ExecuteReader(CommandBehavior.CloseConnection) ' 关闭连接
请大家看看 我要取出sql语句中写的人数 哪出问题了 sql语句执行过了没有问题
但是输出的时候显示的是整个sql语句 不是运算结果
是不是不能用msgbox还是执行的问题?
[解决办法]
而且执行查询是Dim datareader As SqlDataReader = sqlcommand.ExecuteReader(CommandBehavior.CloseConnection) ,你应该把查询得到的结果赋给变量
你在前面MsgBox(应该是MessageBox.Show()吧)干吗?
[解决办法]
To priwilliam () :
你用MsgBox(sql1.ToString),当然是把SQL语句打出来了呀。因为sql1本身就是一个字符串,你并没有把查询结果赋给它。
可以用MsgBox,而你使用的方法也没有错,只是MsgBox的参数不是你想要显示出来的内容。
[解决办法]
哦 这样的
if datareader.read() then
if datareader( "nums1 ").ToString()= "0 " and datareader( "nums2 ").ToString()= "0 " then
label1.text= "空的 "
label2.text= "空的 "
else
label1.text=datareader( "nums1 ").ToString()
label2.text=datareader( "nums2 ").ToString()
end if
end if