显示文本框中特定列的所有行

时间:2013-12-09 06:41:00

标签: vb.net visual-studio-2010 vb.net-2010

我使用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中。

所以请任何人帮助我了解所需的逻辑。

提前致谢

4 个答案:

答案 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