我使用Visual Studio 2010和sql server 2008作为后端,我在显示时遇到问题 文本框中特定列的所有行。 我试过这个,
cmd.CommandText = "select article_no from main where name='" & TextBox1.Text & "'"
cmd.Connection = con
con.Open()
Dim dr As SqlDataReader
dr = cmd.ExecuteReader
If dr.HasRows Then
dr.Read()
TextBox2.Text = dr.Item("article_no")
End If
con.Close()
但是我只能显示我在textbox1中输入的特定名称的第一行,而是需要显示在textbox1中输入的同名的所有行,并且应该显示在textbox2中。
所以请任何人帮助我了解所需的逻辑。
提前致谢
答案 0 :(得分:0)
听起来您需要将TextBox设置为多行,或者您可能需要手动设置换行符。
在此处查看相同的答案:(Similar Answer)
答案 1 :(得分:0)
也许您无法显示所有行,因为您使用的是文本框。文本框中只会添加1条记录,也可以通过将textbox multiline属性设置为true来实现。我建议改用列表框,并执行此操作
If dr.HasRows Then
While dr.Read()
ListBox1.Add(dr.Item("article_no"))
End While
End If
答案 2 :(得分:0)
为了能够显示所有行,您需要循环数据表。试试这个;
If dr.HasRows Then
For Each _dr As DataRow In dr.Rows
_dr.Read()
TextBox2.Text = String.Concat(TextBox2.Text, ",", _dr.Item("article_no"))
Next
End If
在tyour textbox2中使用逗号,
作为分隔符
答案 3 :(得分:0)
为什么不使用垂直滚动条使其成为多行:
TextBox2.Multiline = True
TextBox2.ScrollBars = ScrollBars.Vertical
然后当你遍历时,你会这样做:
TextBox2.Text &= dr.Item("article_no") & Environment.NewLine