| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
共有 415 人关注过本帖
标题:求助,如何把ListView1内数据更新到SQLite数据库
只看楼主 加入收藏
clyfd
Rank: 2
等 级:论坛游民
帖 子:23
专家分:38
注 册:2020-7-11
结帖率:100%
收藏
已结贴  问题点数:20 回复次数:11 
求助,如何把ListView1内数据更新到SQLite数据库
我想把数据库内的数据根据用户编号进行更新,判断用户编号是否存在,如果存在就批量更新,不存在就批量录入
Private Sub Command12_Click()
Dim i As Integer
Set rs = cnn.OpenRecordset("Select * from 用户明细") ' 打开员工信息表的记录集
' 遍历列表视图中的每一行数据
For i = 1 To ListView1.ListItems.Count
    ' 获取当前行的每个字段数据
    Dim id As String
    Dim name As String
    Dim age As Integer
    Dim department As String
    ' 从 ListView 中获取数据
    XM = ListView1.ListItems(i).ListSubItems(1).Text
    PY = ListView1.ListItems(i).ListSubItems(2).Text
    XB = ListView1.ListItems(i).ListSubItems(3).Text
    ZZMM = ListView1.ListItems(i).ListSubItems(4).Text
    YGBH = ListView1.ListItems(i).ListSubItems(5).Text
    MM = ListView1.ListItems(i).ListSubItems(6).Text
    YGXZ = ListView1.ListItems(i).ListSubItems(7).Text
    GZGW = ListView1.ListItems(i).ListSubItems(8).Text
    GZSJ = ListView1.ListItems(i).ListSubItems(9).Text
    DH = ListView1.ListItems(i).ListSubItems(10).Text
    GZZT = ListView1.ListItems(i).ListSubItems(11).Text
    RZSJ = ListView1.ListItems(i).ListSubItems(12).Text
    LGSJ = ListView1.ListItems(i).ListSubItems(13).Text
    SFZH = ListView1.ListItems(i).ListSubItems(14).Text
    BZ = ListView1.ListItems(i).ListSubItems(15).Text
    ABZ = ListView1.ListItems(i).ListSubItems(16).Text
    ' 检查数据库中是否已存在相同的用户编号
rs.FindFirst "用户编号='" & YGBH & "'"
If rs.EOF Then ' 如果数据库中没有找到相同的用户编号就录入
    rs.AddNew ' 添加新记录
Else ' 如果数据库中已经存在相同的用户编号就更新
    rs.Fields("地区").Value = XM
    rs.Fields("本数").Value = PY
    rs.Fields("用户编号").Value = XB
    rs.Fields("户名").Value = ZZMM
    rs.Fields("详细地址").Value = YGBH
    rs.Fields("蓝牌地址").Value = MM
    rs.Fields("单元").Value = YGXZ
    rs.Fields("楼层").Value = GZGW
    rs.Fields("户号").Value = GZSJ
    rs.Fields("用户状态").Value = DH
    rs.Fields("应用分类").Value = GZZT
    rs.Fields("保单类型").Value = RZSJ
    rs.Fields("保单到期日").Value = LGSJ
    rs.Fields("报警器安装人").Value = SFZH
    rs.Fields("核对标记").Value = BZ
    rs.Fields("备注").Value = ABZ
    rs.UpdateBatch ' 保存更新的数据
End If
    rs.MoveNext ' 移动到下一条记录
Next i
End Sub
图片附件: 游客没有浏览图片的权限,请 登录注册


图片附件: 游客没有浏览图片的权限,请 登录注册

点击导入数据
在点击批量更新,但是没成功
批量更新.rar (4.47 MB)

请老师帮忙看看如何处理
搜索更多相关主题的帖子: Text Value 数据 Fields 用户 
2024-04-23 21:34
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:273
专家分:1357
注 册:2006-6-25
收藏
得分:20 
Private Sub Command12_Click()
Dim i As Integer
dim Rs as new ADODB.Recordset
'Set rs = cnn.OpenRecordset("Select * from 用户明细") ' 打开员工信息表的记录集
' 遍历列表视图中的每一行数据
For i = 1 To ListView1.ListItems.Count
    ' 获取当前行的每个字段数据
    Dim id As String
    Dim name As String
    Dim age As Integer
    Dim department As String
    ' 从 ListView 中获取数据
    XM = ListView1.ListItems(i).ListSubItems(1).Text
    PY = ListView1.ListItems(i).ListSubItems(2).Text
    XB = ListView1.ListItems(i).ListSubItems(3).Text
    ZZMM = ListView1.ListItems(i).ListSubItems(4).Text
    YGBH = ListView1.ListItems(i).ListSubItems(5).Text
    MM = ListView1.ListItems(i).ListSubItems(6).Text
    YGXZ = ListView1.ListItems(i).ListSubItems(7).Text
    GZGW = ListView1.ListItems(i).ListSubItems(8).Text
    GZSJ = ListView1.ListItems(i).ListSubItems(9).Text
    DH = ListView1.ListItems(i).ListSubItems(10).Text
    GZZT = ListView1.ListItems(i).ListSubItems(11).Text
    RZSJ = ListView1.ListItems(i).ListSubItems(12).Text
    LGSJ = ListView1.ListItems(i).ListSubItems(13).Text
    SFZH = ListView1.ListItems(i).ListSubItems(14).Text
    BZ = ListView1.ListItems(i).ListSubItems(15).Text
    ABZ = ListView1.ListItems(i).ListSubItems(16).Text
    ' 检查数据库中是否已存在相同的用户编号
sqlstr="select * from 用户明细 where 用户编号='" & YGBH & "'"
rs.open sqlstr, cnn
If rs.EOF Then ' 如果数据库中没有找到相同的用户编号就录入
    rs.AddNew ' 添加新记录
    rs.Fields("用户编号").Value =YGBH
    rs.Fields("地区").Value = XM
    rs.Fields("本数").Value = PY
    rs.Fields("用户编号").Value = XB
    rs.Fields("户名").Value = ZZMM
    rs.Fields("详细地址").Value = YGBH
    rs.Fields("蓝牌地址").Value = MM
    rs.Fields("单元").Value = YGXZ
    rs.Fields("楼层").Value = GZGW
    rs.Fields("户号").Value = GZSJ
    rs.Fields("用户状态").Value = DH
    rs.Fields("应用分类").Value = GZZT
    rs.Fields("保单类型").Value = RZSJ
    rs.Fields("保单到期日").Value = LGSJ
    rs.Fields("报警器安装人").Value = SFZH
    rs.Fields("核对标记").Value = BZ
    rs.Fields("备注").Value = ABZ
Else ' 如果数据库中已经存在相同的用户编号就更新
    rs.Fields("地区").Value = XM
    rs.Fields("本数").Value = PY
    rs.Fields("用户编号").Value = XB
    rs.Fields("户名").Value = ZZMM
    rs.Fields("详细地址").Value = YGBH
    rs.Fields("蓝牌地址").Value = MM
    rs.Fields("单元").Value = YGXZ
    rs.Fields("楼层").Value = GZGW
    rs.Fields("户号").Value = GZSJ
    rs.Fields("用户状态").Value = DH
    rs.Fields("应用分类").Value = GZZT
    rs.Fields("保单类型").Value = RZSJ
    rs.Fields("保单到期日").Value = LGSJ
    rs.Fields("报警器安装人").Value = SFZH
    rs.Fields("核对标记").Value = BZ
    rs.Fields("备注").Value = ABZ
   
End If
    rs.Update ' 保存更新的数据
    rs.close
Next i
End Sub
2024-04-24 08:13
clyfd
Rank: 2
等 级:论坛游民
帖 子:23
专家分:38
注 册:2020-7-11
收藏
得分:0 
回复 2楼 cwa9958
老师  报错
'Dim Rs As New ADODB.Recordset
'rs.open sqlstr, cnn

我改成
Private Sub Command12_Click()
Dim i As Integer
Dim sqlstr As String
Set Rs = cnn.OpenRecordset("Select * from 用户明细") ' 打开员工信息表的记录集
' 遍历列表视图中的每一行数据
For i = 1 To ListView1.ListItems.Count
Print ' 获取当前行的每个字段数据
 Dim id As String
 Dim name As String
 Dim age As Integer
 Dim department As String
 Dim rsLogin As cRecordset
 ' 从 ListView 中获取数据
 XM = ListView1.ListItems(i).ListSubItems(1).Text
 PY = ListView1.ListItems(i).ListSubItems(2).Text
 XB = ListView1.ListItems(i).ListSubItems(3).Text
 ZZMM = ListView1.ListItems(i).ListSubItems(4).Text
 YGBH = ListView1.ListItems(i).ListSubItems(5).Text
 MM = ListView1.ListItems(i).ListSubItems(6).Text
 YGXZ = ListView1.ListItems(i).ListSubItems(7).Text
 GZGW = ListView1.ListItems(i).ListSubItems(8).Text
 GZSJ = ListView1.ListItems(i).ListSubItems(9).Text
 DH = ListView1.ListItems(i).ListSubItems(10).Text
 GZZT = ListView1.ListItems(i).ListSubItems(11).Text
 RZSJ = ListView1.ListItems(i).ListSubItems(12).Text
 LGSJ = ListView1.ListItems(i).ListSubItems(13).Text
 SFZH = ListView1.ListItems(i).ListSubItems(14).Text
 BZ = ListView1.ListItems(i).ListSubItems(15).Text
 ABZ = ListView1.ListItems(i).ListSubItems(16).Text
 ' 检查数据库中是否已存在相同的用户编号
sqlstr = "select * from [用户明细] where [用户编号] ='" & YGBH & "'"

Set rsLogin = cnn.OpenRecordset(sqlstr)
If Rs.EOF Then ' 如果数据库中没有找到相同的用户编号就录入
 Rs.AddNew ' 添加新记录
 Rs.Fields("用户编号").Value = YGBH
 Rs.Fields("地区").Value = XM
 Rs.Fields("本数").Value = PY
 Rs.Fields("用户编号").Value = XB
 Rs.Fields("户名").Value = ZZMM
 Rs.Fields("详细地址").Value = YGBH
 Rs.Fields("蓝牌地址").Value = MM
 Rs.Fields("单元").Value = YGXZ
 Rs.Fields("楼层").Value = GZGW
 Rs.Fields("户号").Value = GZSJ
 Rs.Fields("用户状态").Value = DH
 Rs.Fields("应用分类").Value = GZZT
 Rs.Fields("保单类型").Value = RZSJ
 Rs.Fields("保单到期日").Value = LGSJ
 Rs.Fields("报警器安装人").Value = SFZH
 Rs.Fields("核对标记").Value = BZ
 Rs.Fields("备注").Value = ABZ
Else ' 如果数据库中已经存在相同的用户编号就更新
 Rs.Fields("地区").Value = XM
 Rs.Fields("本数").Value = PY
 Rs.Fields("用户编号").Value = XB
 Rs.Fields("户名").Value = ZZMM
 Rs.Fields("详细地址").Value = YGBH
 Rs.Fields("蓝牌地址").Value = MM
 Rs.Fields("单元").Value = YGXZ
 Rs.Fields("楼层").Value = GZGW
 Rs.Fields("户号").Value = GZSJ
 Rs.Fields("用户状态").Value = DH
 Rs.Fields("应用分类").Value = GZZT
 Rs.Fields("保单类型").Value = RZSJ
 Rs.Fields("保单到期日").Value = LGSJ
 Rs.Fields("报警器安装人").Value = SFZH
 Rs.Fields("核对标记").Value = BZ
 Rs.Fields("备注").Value = ABZ

End If
Rs.UpdateBatch ' 将所有新添加的记录保存到数据库中
 Rs.MoveLast ' 移动到最后一条记录
Next i
End Sub
还是不行


2024-04-24 20:11
clyfd
Rank: 2
等 级:论坛游民
帖 子:23
专家分:38
注 册:2020-7-11
收藏
得分:0 
关键字没起作用,全修改了
2024-04-24 20:21
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:830
专家分:683
注 册:2016-6-29
收藏
得分:0 
当前在线13026人
在线会员47人
在线访客12979人
打扰了,这个论坛从去年就时不时,不能正常登录,所以,要靠大家把这个网站打造成一流。

素数问题的解决是我学习编程永恒的动力。
2024-04-24 22:30
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:830
专家分:683
注 册:2016-6-29
收藏
得分:0 
今天现在在线会员23人,连游客不到15000人

素数问题的解决是我学习编程永恒的动力。
2024-04-26 08:53
clyfd
Rank: 2
等 级:论坛游民
帖 子:23
专家分:38
注 册:2020-7-11
收藏
得分:0 
回复 6楼 独木星空
老师,能帮我看看怎么解决问题不,现在确实论坛不火,但是还是有喜欢VB的人,并且在学习中的人在这里寻找帮助寻找知识点
2024-04-26 17:44
独木星空
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:河北省曲阳县
等 级:版主
威 望:71
帖 子:830
专家分:683
注 册:2016-6-29
收藏
得分:0 
回复 7楼 clyfd
我对vb也是一知半解。我解决数学问题都用vfp。

素数问题的解决是我学习编程永恒的动力。
2024-04-26 21:15
yuma
Rank: 12Rank: 12Rank: 12
来 自:银河系
等 级:贵宾
威 望:37
帖 子:1932
专家分:3012
注 册:2009-12-22
收藏
得分:0 
附件无法下载,图片无法显示,文字还乱码,这网站废了。

心生万象,万象皆程序!
本人计算机知识网:http://bbs.为防伸手党,本站已停止会员注册。
2024-04-26 22:05
cwa9958
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:76
帖 子:273
专家分:1357
注 册:2006-6-25
收藏
得分:0 
哪句代码报错,是报什么错?
按照报错的提示改了就是了。
2024-04-27 08:12
快速回复:求助,如何把ListView1内数据更新到SQLite数据库
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.026711 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved