vb.net获取服务器中所有数据库名称显示在list,vb listview显示数据库内容,该怎么解决...

在VB中,尝试使用ListView控件显示数据库记录时遇到问题,代码打开数据库连接,设置ListView视图和列头,然后遍历记录集填充ListView的子项,但执行后ListView显示为空。错误在于Do While循环条件写错,应修正为`Do While Not rs1.EOF`。修复此错误后,代码应能正常显示数据库内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当前位置:我的异常网» VB » vb listview显示数据库内容,该怎么解决

vb listview显示数据库内容,该怎么解决

www.myexceptions.net  网友分享于:2013-03-22  浏览:23次

vb listview显示数据库内容

我想用listview显示数据库的内容,但执行之后,listview一片空白。

我的代码是

Private Sub Form_Load()

Dim str As String

Set conn = New ADODB.Connection

str = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\dm.mdb;Persist Security Info=False"

conn.Open str

Dim rs1 As ADODB.Recordset

Set rs1 = New ADODB.Recordset

ListView1.View = lvwReport

ListView1.Gridlines = True

ListView1.FullRowSelect = True

With ListView1

.View = lvwReport

.ColumnHeaders.Add = "资产标志"

.ColumnHeaders.Add = "资产编号"

.ColumnHeaders.Add = "资产名称"

.ColumnHeaders.Add = "品名"

.ColumnHeaders.Add = "厂家"

.ColumnHeaders.Add = "型号"

.ColumnHeaders.Add = "配置"

.ColumnHeaders.Add = "数量"

.ColumnHeaders.Add = "购进单位"

.ColumnHeaders.Add = "使用人"

.ColumnHeaders(1).Width = 1000

.ColumnHeaders(1).Width = 1500

.ColumnHeaders(1).Width = 2000

.ColumnHeaders(1).Width = 1500

.ColumnHeaders(1).Width = 1500

.ColumnHeaders(1).Width = 1500

.ColumnHeaders(1).Width = 1500

.ColumnHeaders(1).Width = 800

.ColumnHeaders(1).Width = 2500

.ColumnHeaders(1).Width = 1000

End With

Dim addlist As ListItem

Dim i As Integer

rs1.Open "select * from sbjbztb", conn, 1, 1

Do While rs1.EOF

Set addlist = ListView1.ListItems.Add(, , rs1.Fields("id").Value)

addlist.SubItems(1) = IIf(IsNull(rs1.Fields("资产编号").Value), "", rs1.Fields("资产编号").Value)

addlist.SubItems(2) = IIf(IsNull(rs1.Fields("资产编号").Value), "", rs1.Fields("资产编号").Value)

addlist.SubItems(3) = IIf(IsNull(rs1.Fields("资产名称").Value), "", rs1.Fields("资产名称").Value)

addlist.SubItems(4) = IIf(IsNull(rs1.Fields("品名").Value), "", rs1.Fields("品名").Value)

addlist.SubItems(5) = IIf(IsNull(rs1.Fields("厂家").Value), "", rs1.Fields("厂家").Value)

addlist.SubItems(6) = IIf(IsNull(rs1.Fields("型号").Value), "", rs1.Fields("型号").Value)

addlist.SubItems(7) = IIf(IsNull(rs1.Fields("配置").Value), "", rs1.Fields("配置").Value)

addlist.SubItems(8) = IIf(IsNull(rs1.Fields("数量").Value), "", rs1.Fields("数量").Value)

addlist.SubItems(9) = IIf(IsNull(rs1.Fields("购进单位").Value), "", rs1.Fields("购进单位").Value)

addlist.SubItems(10) = IIf(IsNull(rs1.Fields("使用人").Value), "", rs1.Fields("使用人").Value)

rs1.MoveNext

Loop

rs1.close

End Sub

请大家帮我看看,是哪里出了问题。

------解决方案--------------------

Do While rs1.EOF写错了

改为:Do While not rs1.EOF

文章评论

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值