标题:请高手帮忙解决 更新数据表时,提示:违反并发性 的错误
取消只看楼主
yangmz
Rank: 2
等 级:论坛游民
帖 子:94
专家分:20
注 册:2013-4-2
结帖率:54.17%
 问题点数:0 回复次数:1 
请高手帮忙解决 更新数据表时,提示:违反并发性 的错误
本人初学(vb2010)+sqlite3,在窗体中使用treeview显示一个表里的数据,有一个字段treedata专门存放name(键值),并设为主健。
代码如下:

    dim  salda_xmname As New SQLite.SQLiteDataAdapter
    dim SQLconn_gldw As New Data.SQLite.SQLiteConnection              '定义数据库链接对象
    Dim constr As String = "data source=d:\23.db"
    dim rowFind As DataRow  
 
 ’在窗体的load中调入数据库  
    SQLconn_gldw.ConnectionString = constr                             '链接数据库
    sqlcmd.Connection = SQLconn_gldw
    salda_xmname = New SQLite.SQLiteDataAdapter("select * from xmname", SQLconn_gldw)
    salda_xmname.Fill(ds, "xmname")

‘窗体中有一个按钮专门增加一个节点,同时,该表也插入一条记录,并写入专门的节点值(键值),单击treeview的TreeView1_AfterSelect事件后,执行一段代码
‘在另一个按钮控件中增加一条记录并赋值
            Dim AddedRow As DataRow = ds.Tables("xmname").NewRow()
            AddedRow("nodename") = cNewQyName
            AddedRow("treedate") = QyKey
            AddedRow("ico") = "xian"
            AddedRow("icoed") = "xian1"
            AddedRow("isover") = 0

’       还有其它字段暂不赋值   
 ds.Tables("xmname").Rows.Add(AddedRow)         ‘增加到记录中

’更新到表中
    Dim cmdBuilder As New System.Data.SQLite.SQLiteCommandBuilder(salda_xmname)   
   salda_xmname.Update(ds, "xmname")
   ds.Tables("xmname").AcceptChanges()
’这样做也没问题,能更新到表中,接下来:

‘点击TreeView1上刚增加的节点后,在TreeView1_AfterSelect事件中执行:
dim NodeNameKey As String= TreeView1.SelectedNode.Name   '得到当前的节点name
rowFind = ds.Tables("xmname").Rows.Find(NodeNameKey)     '在数据集的表xmname中定位到具有该键值的记录,treedata专门存放name(键值),并设为主健
 

’在窗体的另一个按钮中执行如下一段代码:
    rowFind("nodename") = TbYqMc.Text           ‘更改字段nodename的值为窗体中的一个文本框字段的值

‘这样做也没有问题
’接下来执行更新到表中的代码:
    Dim cmdBuilder As New System.Data.SQLite.SQLiteCommandBuilder(salda_xmname)   
   salda_xmname.Update(ds, "xmname")          提示:违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条”的数据库更新错误         
   ds.Tables("xmname").AcceptChanges()

本人百度了一下,说是自增字段的问题,也有说是没有主健的问题,我把自增字段删除了,主健也设置了,但还是没有解决问题。
请高手帮忙指点一下。


[此贴子已经被作者于2021-9-16 19:01编辑过]

搜索更多相关主题的帖子: 更新 字段 dim Tables New 
2021-09-16 18:55
yangmz
Rank: 2
等 级:论坛游民
帖 子:94
专家分:20
注 册:2013-4-2
得分:0 
我发现,用datagridview显示一个数据表时,修改其中任意字段内容(除了主键没有改外),然后如下代码保存也会出现错误
 
   Dim cmdBuilder As New System.Data.SQLite.SQLiteCommandBuilder(salda_xmname)   
   salda_xmname.Update(ds, "xmname")          提示:违反并发性: UpdateCommand影响了预期 1 条记录中的 0 条”的数据库更新错误         
   ds.Tables("xmname").AcceptChanges()

这是怎么回事啊?
2021-09-18 11:04



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-506883-1-1.html




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

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