以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]数据获取出错  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=47784)

--  作者:aduydgd
--  发布时间:2014/3/17 15:14:00
--  [求助]数据获取出错

大家好,我在文本改变后或值改变后事件中,设置了如下事件,但是我在操作时,ComboBox3获取的数据,始终是第一条数据,这个好奇怪啊,是不是我写错了,

大家帮忙更正一下,谢谢

 

Dim cmd As New SQLCommand
Dim dt As DataTable
Dim dr As String
cmd.C
cmd.CommandText = "SELECT * From {beijian_ziliao_table} Where zhuangtai = 1"
dt = cmd.ExecuteReader
If dt.DataRows.Count > 0 Then
    e.Form.Controls("ComboBox3").Text = dt.DataRows(0)("chanpinbianma")
Else
    e.Form.Controls("ComboBox3").Text = Nothing
End If


--  作者:Bin
--  发布时间:2014/3/17 15:17:00
--  
你取的就是第一行,所以永远都是第一行啊.dt.DataRows(0)  
--  作者:狐狸爸爸
--  发布时间:2014/3/17 15:17:00
--  

无法理解你的代码,dt.DataRows(0)("chanpinbianma")本来就只返回第一个符合条件的行。

另外你如果只需获得一行的值,那么就没有必要返回有的行,改为:

 

SELECT top 1 From {beijian_ziliao_table} Where zhuangtai = 1

 

[此贴子已经被作者于2014-3-17 15:17:52编辑过]

--  作者:aduydgd
--  发布时间:2014/3/17 15:21:00
--  

这样写的方式,我在表事件当中是没有问题的呀


--  作者:Bin
--  发布时间:2014/3/17 15:25:00
--  
你直接说出你的需求吧
--  作者:aduydgd
--  发布时间:2014/3/17 15:33:00
--  

不好意思,忘了写参照物了,大意了图片点击可在新窗口打开查看,已经搞定