vblistview数据库
‘壹’ VB-怎么让数据库中的内容在listview中显示
给你一个我写的例子:
‘初始化ListView,追加列标题
Private Sub lsInitListView()
Dim oHeader As ColumnHeader
Dim oItem As ListItem
Dim oSubItem As ListSubItem
With lvwLot
.View = lvwReport
.SmallIcons = ilsIco
.FullRowSelect = True
.MultiSelect = True
.Checkboxes = True
.LabelEdit = lvwManual
End With
'lvwColumnLeft,lvwColumnRight ,lvwColumnCenter
Set oHeader = lvwLot.ColumnHeaders.Add(, , "列1", 700, lvwColumnLeft)
Set oHeader = lvwLot.ColumnHeaders.Add(, , "列2", 900, lvwColumnCenter)
' Clear
Call lvwLot.ListItems.Clear
' 描画
lvwLot.View = lvwReport
End Sub
’数据邦定
Private Sub lsSetListView()
' Clear
Call lvwLot.ListItems.Clear
Dim oItem As ListItem
Dim lngcnt As Long
dim i as long
for i = 0 to 最大记录条数
With lvwLot.ListItems(lngcnt).ListSubItems
.Add , , 数据
.Add , , 数据
End With
lngcnt = lngcnt + 1
End If
Next
end sub
‘贰’ VB.NET从ListView中添加数据到数据库
('" + Trim(Label4.Text) + "','" + Trim(ListView1.SelectedItems.Item(0).Text) + "','" + Trim(ListView1.SelectedItems.Item(1).Text) + "' 这个里面每个变量多了个单引号吧。。。 注意检查下。。。。语法。。。SQL的
‘叁’ vb中listview如何显示数据库内容
第一步:添加列头
可在form_load里边添加,如下:
'初始化
ListView1.FullRowSelect
=
True
'(允许整行选择)
listview1.gridlines=true
'(显示网格)
listview1.checkboxs=true
'显示checkboxs框
listview1.view=3
'以报表形式显示
ListView1.ColumnHeaders.Clear
ListView1.ColumnHeaders.Add
1,
,
"姓名",
1000
ListView1.ColumnHeaders.Add
2,
,
"性别",
500
ListView1.ColumnHeaders.Add
3,
,
"职称",
1500
ListView1.ColumnHeaders.Add
4,
,
"电话",
1000
第二步,添加数据
Dim
itmX
As
ListItem
Set
itmX
=
lvw.ListItems.Add(参数,参数,参数,……)
'这些参数都可以为空,具体你可以看看msdn
itmX.text="李四"
itmX.SubItems(1)
=
"雄性"
itmX.SubItems(2)
=
"大将军"
itmX.SubItems(3)
=
"10086"
第三步,取得行数据
Private
Sub
ListView1_ItemClick(ByVal
Item
As
MSComctlLib.ListItem)
Text1
=
Item.Text
Text2
=
Item.SubItems(1)
Text3
=
Item.SubItems(2)
Text4
=
Item.SubItems(3)
End
Sub
试一试就能知道怎么用了,快去试试吧
‘肆’ VB listview 如何显示SQL 数据库谢谢!
不用ADO 那就用RDO DAO也可
反正总要调用个数据库引擎 你才能使用里面的数据库
给你一段用ADO的代码 希望你能看懂
Dim r As New ADODB.Recordset
Dim SQL As String
Dim itmx As ListItem
ListView1.ListItems.Clear
SQL = "SELECT 报告.idd, 报告.ID, 报告.姓名, 报告.性别, 报告.年龄, 报告.放入日期, "
SQL = SQL & " 报告.结论, 报告.结论日期, 报告明细.reidd, 报告明细.名称, 报告明细.条码,"
SQL = SQL & "报告明细.放入时间, 报告明细.放入人员, 报告明细.取出时间, 报告明细.取出人员, 报告明细.时间间隔, 报告明细.结果, 报告明细.说明, 报告明细.位置 "
SQL = SQL & "FROM 报告, 报告明细 where 报告.idd = 报告明细.reidd "
SQL = SQL & " and 报告明细.放入时间>=#" & Format(RQ1, "yyyy-MM-dd") & "# "
SQL = SQL & " and 报告明细.放入时间<#" & Format(RQ2 + 1, "yyyy-MM-dd") & "# "
r.Open SQL, cn
Do While Not r.EOF
Set itmx = ListView1.ListItems.Add
itmx.Text = Trim(r!idd & " ")
itmx.SubItems(1) = Trim(r!id & " ")
itmx.SubItems(2) = Trim(r!姓名 & " ")
itmx.SubItems(3) = Trim(r!性别 & " ")
itmx.SubItems(4) = Trim(r!年龄 & " ")
itmx.SubItems(5) = Format(r!放入日期, "yyyy-MM-dd")
itmx.SubItems(6) = Trim(r!名称 & " ")
itmx.SubItems(7) = Trim(r!条码 & " ")
itmx.SubItems(8) = Format(r!放入时间, "yyyy-MM-dd hh:mm:ss")
itmx.SubItems(9) = Trim(r!放入人员 & " ")
itmx.SubItems(10) = Format(r!取出时间, "yyyy-MM-dd hh:mm:ss")
itmx.SubItems(11) = Trim(r!取出人员 & " ")
itmx.SubItems(12) = Format(r!时间间隔 / 24, "0.0")
itmx.SubItems(13) = Trim(r!结果 & " ") & Trim(r!说明 & " ")
itmx.SubItems(14) = Trim(r!位置 & " ")
r.MoveNext
Loop
r.Close
‘伍’ VB listview 数据库问题
顺着昨天的工程模板写了一个例子 添加的方法还是比较多的Private Sub Form_Load()'////////////////////////////////不用添加控件ado,引用了一个库Microsoft activeX Date...来处理access//////////////////////////////////////////On Error Resume Next
Dim xItem As ListItem
ListView1.View = lvwReport
For I = 1 To 2 '添加列数 根据你的数据决定i
ListView1.ColumnHeaders.Add , , "" & I & ""
Next '创建Connection对象cnn,关键New用于创建新对象
Dim cnn As New ADODB.Connection
'创建Recordset对象rs1
Dim rs1 As New ADODB.Recordset
'设置查询记录集的SQL语句,从表data中读取记录
Dim varSource As String
varSource = "select * from bb" '写入条件
If Dir("E:\" + "\data.mdb") <> "" Then
'设置连接字符串ConnectionString属性.mdb的 access文件必须用Microsoft.Jet.OLEDB.4.0 ,Access 97为3.51
cnn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" _
+ " Data Source=E:\data.mdb; "
'打开到数据库的连接
cnn.Open
'设置rs1的ActiveConnection属性,指定与其关联的数据库连接
Set rs1.ActiveConnection = cnn
'设置游标类型
rs1.CursorType = adOpenStatic
'打开记录集,将从表data中读取的结果集保存到记录集rs1中
rs1.Open varSource '显示记录
If rs1.RecordCount <> 0 Then
rs1.MoveFirst Do While Not rs1.EOF '判断EOF标记属性(Endoffile) Set xItem = ListView1.ListItems.Add(, , rs1!id) ‘第一列
xItem.SubItems(1) = rs1!Name ’第二列 '以此类推。。。。 rs1.MoveNext '将游标指针移到下一条记录
Loop
Else
MsgBox "查询不到结果"
End If
'关闭记录集
rs1.Close
'关闭cnn对象
cnn.Close
Else
MsgBox ("找不到数据库")
End IfEnd Sub结果如下所用测试数据库data表bb结构