Dim Mysqlconn = New SqlConnection
Mysqlconn.ConnectionString = "Data Source=DESKTOP-D32ONKB;Initial Catalog=Attendance;Integrated Security=True"
Dim dt As DataTable = New DataTable("studentdata")
Mysqlconn.Open()
Dim query As String
query = "select ID from studentdata where Class='" & ComboBox1.Text & "'"
Dim Command = New SqlCommand(query, Mysqlconn)
Dim dr = Command.ExecuteReader(CommandBehavior.CloseConnection)
ListView1.Items.Clear()
Dim x As ListViewItem
Do While dr.Read = True
x = New ListViewItem(dr("ID").ToString)
ListView1.Items.Add(x)
Loop
For i = 0 To ListView1.Items.Count - 1
TextBox1.Text = ListView1.Items(i).SubItems(0).Text
Next
在这段代码中,Textbox1
显示的是Listview1
中的最后一行。我的要求是将Listview1中的所有数据一个接一个地显示在textbox1中。是否可以使用循环在textbox1中显示从Listview1中读取的所有数据。谢谢...
2条答案
按热度按时间xmq68pz91#
一个文本框一次只能保存一个字符串。如果它被设置为允许多行字符串(问题中没有明确说明),你可以用换行符分隔每一项。否则,你可以用逗号之类的分隔符分隔字符串。
还要注意我是如何使用查询参数在SQL命令中包含组合框值的。其他任何事情都会给你带来麻烦,通常是迟早的事。
ehxuflar2#
使用 as 循环 , 正确 的 方式 应该 是 这样 :
中 的 每 一 个
你 不能 一直 把
Text
属性 设置 为 一 个 新 值 , 然后 期望 旧 值 毫无 理由 地 一直 挂 在 那里 。 你 可以 每次 都 追加 到Text
, 但是 这样 效率 很 低 。 正确 的 方法 是 创建 一 个 值 列表 , 将 其 转换 为String
数组 , 然后 将 其 赋 给Lines
属性 。请 注意 , 获取 第 一 个 子 项 的
Text
是 没有 意义 的 , 因为 它 与 该项 的Text
相同 。