以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 异常错误捕捉 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=67264) |
-- 作者:newsun2k -- 发布时间:2015/4/21 14:27:00 -- 异常错误捕捉 try cmd.C cmd.CommandText = strSQL Count = cmd.ExecuteNonQuery() dr("状态") = "完成" dr("时间") = Date.Now dr.Save catch ex As Exception dr("状态") = "异常" dr("时间") = Date.Now dr.Save End try 其中,当strSQL不正确时,弹出错误窗口,并未和我设想的一样,在表里写一个“异常”,何解?
|
-- 作者:狐狸爸爸 -- 发布时间:2015/4/21 14:31:00 -- 很多错误,foxtable自己捕获了,看看这个: |
-- 作者:newsun2k -- 发布时间:2015/4/21 14:36:00 -- 求教: 我进行数据同步,上百个sql语句,我不想自己复制执行。 所以写在表中[sql表],弹出一个窗口,一条一条地读,然后执行。 这其中就有的因为各种原因,导致sql语句本身不正确,如何在表中标识错误的sql语句?
|
-- 作者:Bin -- 发布时间:2015/4/21 14:37:00 -- 看2楼的错误,在错误事件捕获 |
-- 作者:newsun2k -- 发布时间:2015/4/21 14:39:00 -- Event: 字符型,返回发生错误的事件名称 Message1: 字符型,返回简明错误信息 Message2: 字符型,返回详细错误信息 Cancel: 逻辑型,设为True将禁止系统显示错误信息。 ex: System.Exception类型,返回发生的错误,一般用户不需要使用此参数。 我的问题是,这里面怎么知道是我的哪个语句出问题了? For Each dr As DataRow In drs strSQL = dr("SQL") If dr.Isnull("内容") Then Else e.Form.Controls("Label1").text ="正在执行:" & dr("内容") End If Dim cmd As New SQLCommand Dim Count As Integer try cmd.C cmd.CommandText = strSQL Count = cmd.ExecuteNonQuery() dr("状态") = "完成" dr("时间") = Date.Now dr.Save catch ex As Exception dr("状态") = "异常" dr("时间") = Date.Now dr.Save End try Next |
-- 作者:Bin -- 发布时间:2015/4/21 14:42:00 -- 根据 Event 和 Message1 Message2 来判断. 你可以利用一个全局变量.每次循环把DR存进去 这报错的时候到错误事件获取,就是报错的DR了
|