以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助]反馈一个严重的存储过程发现的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=123843) |
-- 作者:ericsky -- 发布时间:2018/8/24 12:04:00 -- [求助]反馈一个严重的存储过程发现的问题 问题是:新增行执行保存代码后,不会在后台数据库生成新的数据行,而是覆盖旧有的数据行,造成数据丢失。 1、用的是sql数据源,发生问题时网络状况不良。 2、用的狐表的保存代码: dim r as row = tabels(“XXX“).addnew .... r.save 3、发生问题的数据表中已经执行了近8000笔的数据操作,这是第一次发现这种情况,连续两笔操作,分别覆盖到[Identify]为1 和 3 的原数据行。 --------- 数据安全是排在首位的,请官方分析狐表的存储过程,看看问题是怎么发生,要不然写出来的软件用的提心吊胆的。 @狐狸爸爸 |
-- 作者:有点蓝 -- 发布时间:2018/8/24 12:18:00 -- 狐表没有使用存储过程,是逐条保存的。 相关操作的完整代码,或者实例请发上来测试。
|
-- 作者:ericsky -- 发布时间:2018/8/24 12:31:00 -- 具体情况就是我1楼所说的,当时的情形已过去了,不可复制。我也没办法拿出实例给你。 请你们分析在各种极端网络情况下,有没有可能出现我所说的情况! 这很重要,望重视!!
|
-- 作者:有点蓝 -- 发布时间:2018/8/24 13:42:00 -- 恩,我们测试一下,看能不能出现这种问题 |
-- 作者:xxfoxtable -- 发布时间:2018/8/24 13:54:00 -- 先删除,再更新,再保存,这样的语句也出问题,会经常自动增加很多记录,没找到规律 Dim tran As System.Data.SqlClient.SqlTransactiontry Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test") conn.Open() \'打开链接 tran = conn.BeginTransaction() Dim mapping1 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("第一列", "第一列") Dim mapping2 As new System.Data.SqlClient.SqlBulkCopyColumnMapping("第二列", "第二列") Dim copy As new System.Data.SqlClient.SqlBulkCopy(conn, System.Data.SqlClient.SqlBulkCopyOptions.Default, tran) Copy.ColumnMappings.Add(mapping1) Copy.ColumnMappings.Add(mapping2) copy.DestinationTableName = "表D" \'指定服务器上目标表的名称 copy.WriteToServer(DataTables("表D").basetable) \'你的datatable名字,执行把DataTable中的数据写入DB tran.Commit() \'提交事务 msgbox("OK") catch ex As exception msgbox(ex.message) tran.Rollback() \'返回False 执行失败! End try |
-- 作者:有点蓝 -- 发布时间:2018/8/24 14:36:00 -- 以下是引用xxfoxtable在2018/8/24 13:54:00的发言:
肯定和这个用法没有关系,是你自己处理逻辑出错
先删除,再更新,再保存,这样的语句也出问题,会经常自动增加很多记录,没找到规律 Dim tran As System.Data.SqlClient.SqlTransactiontry Dim conn As new System.Data.SqlClient.SqlConnection("server=voyo;uid=sa;pwd=hailun.;database=Test") conn.Open() \'打开链接 tran = conn.BeginTransaction() …… |