![VB.NET源码-156个实用实例哦……](http://www.zhzx123.com/VB.NET_03.gif)
数据存取问题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的参数不是你想要显示出来的内容。
__________________________________________________________________________
查询的结果是在datareader里吧
怎么才能取出来?
__________________________________________________________________________
嗯 msgbox里的参数有问题 应该是查询的结果负值的变量吧
现在的问题是 怎样能把查询结果取出来 是个整型的数
__________________________________________________________________________
请大家指教 本人愚钝
__________________________________________________________________________
str1= " select count(test.needhelp) as nums1 from test where needhelp= ''yes '';select count(test.needhelp) as nums2 from test where needhelp = ''no '' "
sqlcommand.Connection.Open()
Dim datareader As SqlDataReader = sqlcommand.ExecuteReader
label1.text=datareader( "nums1 ").ToString()
label2text=datareader( "nums2 ").ToString
__________________________________________________________________________
没人回沉下去了 只能自己顶了 各位帮忙看看 搞不定我睡不着啊
__________________________________________________________________________
label.text是一个窗体么
可是label是标示阿 这句话是什么意思?
__________________________________________________________________________
没人回沉下去了 只能自己顶了 各位帮忙看看 搞不定我睡不着啊
没人回沉下去了 只能自己顶了 各位帮忙看看 搞不定我睡不着啊
__________________________________________________________________________
label1是个label控件啊,你在前台加上他们看看吧
应该是:
label1.text=datareader( "nums1 ").ToString()
label2.text=datareader( "nums2 ").ToString()
__________________________________________________________________________
感谢daxiao 我试试先
__________________________________________________________________________
真的谁不着么?
__________________________________________________________________________
在没有任何数据时进行无效的读取尝试。
这个是错误提示 看不懂。。。
我这几天都没怎么睡 这是一个数据挖掘的小程序的一部分
__________________________________________________________________________
继续顶。。。。。刷得真快
__________________________________________________________________________
daxiao 你的招不灵 错误是在没有任何数据时进行无效的读取尝试。
是因为结果没传过来么
__________________________________________________________________________
哦 这样的
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
__________________________________________________________________________
感谢大校 得解 就是两个值不能同时获得 要分开
datareader( "nums1 ").ToString()= "0 " and datareader( "nums2 ").ToString()= "0 "
在nums2这里还是报错 分开就好了
感激不尽
__________________________________________________________________________
感谢cctv 感谢chanelV 感谢我的电脑 感谢楼上各位 感谢学校没拉电闸
__________________________________________________________________________
是的
__________________________________________________________________________