一个很麻烦的问题,请大虾们进来帮我分析一下原因

ilgll 2007-11-08 01:58:05
我在ASP中用ADO.COMMAND来执行update语句.要update是某一条记录,update时有指定ID.但结果却是数据库表中所有与被update记录有两个字段值相同的记录全部被删掉了.数据库中没有用户自定义的存储教程和触发器,而且这种情况只在某一段时间出现,这个时间段不确定,绝大部分时候都是没有问题的.
相关的数据通过一个datareader帐号开放给另一个系统读取数据,这个有影响吗?
因为每次都丢失不少数据,好痛苦.
...全文
93 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
boblaw 2007-11-08
  • 打赏
  • 举报
回复
這代碼,看得都暈,不過沒問題,不會刪除
ilgll 2007-11-08
  • 打赏
  • 举报
回复
看来我只有还原原来的数据多试几次,看他到底会不会再发生了.
fcuandy 2007-11-08
  • 打赏
  • 举报
回复
dw生成的代码...
ilgll 2007-11-08
  • 打赏
  • 举报
回复
代码是这样的
set cmd= Server.CreateObject("ADODB.Command")
cmd.ActiveConnection = MM_db_STRING
cmd.CommandText = "update BUILDING set street='"&Replace(street,"'","''")&"',borough='"&Replace(borough,"'","''")&"',ADRESS='"&Replace(adress,"'","''")&"',MANAGE='"&Replace(manage,"'","''")&"',TIMEMENT='"&Replace(timement,"'","''")&"',FLOOR='"&Replace(floor,"'","''")&"',DOOR='"&Replace(door,"'","''")&"',SECURITY='"&Replace(secure,"'","''")&"',DUTY='"&Replace(duty,"'","''")&"',DUTY_POST='"&Replace(post,"'","''")&"',STAIR='"&Replace(stair,"'","''")&"',STAIR2='"&Replace(stair2,"'","''")&"',TENEMENT='"&Replace(tenement,"'","''")&"',LET='"&Replace(let1,"'","''")&"',LET_LIVE='"&Replace(let2,"'","''")&"',LET_USE='"&Replace(let3,"'","''")&"',CONFIGURATION='"&Replace(a,"'","''")&"',FUNTION='"&Replace(b,"'","''")&"',REMARK='"&Replace(remark,"'","''")&"',MENDER='"&Replace(user,"'","''")&"',COURTYARD_ID=0,AMEND_DATE='"&now&"',RIGHTD='"&rightd&"',DUTYD='"&dutyd&"',MANAGED='"&managed&"' where ID='"&id2&"' "
cmd.Execute
fcuandy 2007-11-08
  • 打赏
  • 举报
回复
-------------------------
我现在的疑问是,sqlserver在update数据的时候是不是先删除再插进去.如果某一个时间段网络情况不好,只执行了删除操作就停下来了?
-------------------------
只要你命令提交过去了,操作都是在服务器上进行的.跟网络没关系.
ilgll 2007-11-08
  • 打赏
  • 举报
回复
首先这种情况不是经常出现,几个月一次,而且都是过后客户才反映过来,我再用探测器跟踪一下SQL语句没发现什么问题.
只是偶尔发生,而且很可能是持续几个小时左右.
代码中没有"delete"字样,这个我找过了.
我现在的疑问是,sqlserver在update数据的时候是不是先删除再插进去.如果某一个时间段网络情况不好,只执行了删除操作就停下来了?
dobear_0922 2007-11-08
  • 打赏
  • 举报
回复
肯定不是update的问题
skyboy0720 2007-11-08
  • 打赏
  • 举报
回复
这个肯定是你数据和你写的SQL之间不正确的问题,datareader权限是肯定不能修改数据的
所以建议你好好检查下你的表数据和你写的SQL语句,或者发上来,大家看看有没什么不正确的地方。
boblaw 2007-11-08
  • 打赏
  • 举报
回复
衹是update,當然不會刪除數據,另一個系統也衹是讀取數據,不會有影響.
LZ再找找原因,比如在你的程序中搜索有"delete"字樣的代碼,看看是不是程序中有bug
-狙击手- 2007-11-08
  • 打赏
  • 举报
回复
建议用事件 探测器跟踪一下SQL语句
jinjazz 2007-11-08
  • 打赏
  • 举报
回复
update是不会丢失数据的,你可以用logExplorer看看日志

34,594

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧