ehxz 发表于 2010-8-16 11:28:14

数据窗口中的DBERROR()事件中调用函数捕获错误

函数代码如下:
//函数名:   F_Dw_DbError
//调用:       F_Dw_DbError   (SqlDbCode,   THIS,   Row,   al_sqlerrtext)
//参数:       SqlDbCode,   THIS,   Row   分别为DW的DbError事件的原有参数
//返回:       捕捉到错误:   1,   没有捕捉到错误:   0
//用于:   MS   SQL

string   ls_message
long   ll_return

CHOOSE   CASE   al_sqldbcode
CASE   2627
MessageBox( "确认 ",   "第   "   +   STRING   (al_row)   +   "   行输入重复,   请重新录入 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
adw_dw.SetFocus   ()
adw_dw.scrolltorow(al_row)
adw_dw.SetRow   (al_row)
return   1
CASE   10005
Messagebox( "确认 ",   "数据库连接失败 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
return   1
CASE   515
Messagebox( "确认 ",   "第   "   +   STRING   (al_row)   +   "   行数据没有输入或输入的数据和数据库不匹配 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
adw_dw.SetFocus   ()
adw_dw.scrolltorow(al_row)
adw_dw.SetRow   (al_row)
return   1
CASE   10025
Messagebox( "确认 ",   "网络故障,   请与数据库管理员联系 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
return   1
CASE   547
Messagebox( "确认 ",   "此表中的数据已被使用,   不能删除 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
Return   1
case   513   
MessageBox( "确认Rules ",   "数量不足,   请不要修改当前的记录 ")
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
adw_dw.SetFocus   ()
adw_dw.scrolltorow(al_row)
adw_dw.SetRow   (al_row)
return   1
case   50000
Messagebox( "确认Trigger ",   "此表中的数据已被使用,   不能删除 ",   Exc本人tion!)
// MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
return   1
case   else
MessageBox( "确认 ",   "错误编号   "   +   string(al_sqldbcode)   +   "   "   +   "错误内容   "   +   al_SQLErrText)
Return   1

END   CHOOSE

Return   0

msgtogcr 发表于 2010-8-28 17:18:51

因为 dberror 是数据库的错误码,所以要知道是用什么 dbms 才有意义。
页: [1]
查看完整版本: 数据窗口中的DBERROR()事件中调用函数捕获错误

免责声明:
本站所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Admin@SybaseBbs.com