首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

数据存取有关问题2

2011-12-14 
数据存取问题2Dimsql1AsStringselectcount(test.needhelp)fromtestwhereneedhelp yes selectcount(tes

数据存取问题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

热点排行