我使用SqlDataReader在 a 中顯示資料RichTextBox,但我只有一行。
這是我的代碼:
Dim strsql As String
Dim OrdenNumero As Integer
Dim Articulo As String
Dim con As New SqlConnection("")
strsql = "SELECT * FROM OrdenesParaMonitor WHERE Orden# = (SELECT MAX(Orden#) from OrdenesParaMonitor);"
Dim cmd As New SqlCommand(strsql, con)
Dim myreader As SqlDataReader
con.Open()
myreader = cmd.ExecuteReader
If myreader.HasRows = True Then
While myreader.Read()
OrdenNumero = myreader("Orden#")
Articulo = myreader("Articulo")
Label1.Text = OrdenNumero
RichTextBox1.Text = Articulo
End While
End If
End Sub
我知道如果我想讀取所有行,我必須回圈,但沒有人使用 VB.NET,因此作為初學者很難找到一個很好的例子來說明如何做到這一點。
uj5u.com熱心網友回復:
為什么我的資料讀取器只回傳一行?
可能不是,但您正在為每一行覆寫相同的一組變數和 UI 元素。因此,您可能只會看到While 回圈后的最后一行。
除錯您的專案并在 while 回圈中放置一個斷點以確保。
沒有人使用 VB.NET,所以作為初學者很難找到一個很好的例子來說明如何做到這一點。
您是否考慮過 C# 可能是一種更適合您學習的語言,因為示例太多了。VB.NET 主要由具有大量 VB.NET 和/或 VBA 編程經驗的人使用。
uj5u.com熱心網友回復:
正如我在評論中所說,問題在于代碼如何為兩個控制元件設定文本。設定文本而不附加到前一個文本,只是用來自記錄的資料替換當前文本,并只留下最后一組。
相反,您應該附加到當前文本。這可以通過&=標簽的運算子或使用特定的AppendText方法來完成RichTextBox。
While myreader.Read()
OrdenNumero = myreader("Orden#")
Articulo = myreader("Articulo")
Label1.Text &= OrdenNumero ' Append to the previous text
RichTextBox1.AppendText(Articulo)
' or add a newline at each step
RichTextBox1.AppendText(Articulo & Environment.NewLine)
End While
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/353652.html
標籤:sql-server 网络
