| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 891 人关注过本帖
标题:请教sql SQL Server 连接断了,程序不能关闭这种错误如何处理?谢谢
只看楼主 加入收藏
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
是这样
ca=Createobject("CursorAdapter")
With ca
    .Alias = 'cs'
    .Datasource=con  
    .DataSourceType = 'odbc'
    .SelectCmd = "select * from cs "  
    .KeyFieldList = 'id'  
    .Tables = "cs"
    .UpdatableFieldList = "id,姓名,性别"
    .UpdateNameList ="id cs.id,姓名 cs.姓名,性别 cs.性别"
 .CursorFill()
ENDWITH
Select cs
CursorSetProp("buffering",3)
修改数据,没有保存,测试,关掉数据sql server,然后关闭程序
2023-08-17 19:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10564
专家分:43004
注 册:2014-5-20
收藏
得分:0 
2023-08-18 10:09
iswith
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:5
帖 子:343
专家分:500
注 册:2013-5-14
收藏
得分:0 
使用try Aerror来捕捉
2023-08-18 11:36
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
请教版主代码放在主程序中吗?
图片附件: 游客没有浏览图片的权限,请 登录注册

l.rar (57.89 KB)
2023-08-19 06:48
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10564
专家分:43004
注 册:2014-5-20
收藏
得分:0 
回复 14楼 wxzd123
想在哪开始拦截就放在哪,可以随时开启和关闭。
2023-08-19 07:56
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
我放在主程序了,没拦住,之前还有一个界面,附件上传了
2023-08-19 10:24
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
#define MY_ERROR  0x401    && 自定义消息
DECLARE long AddException IN errdbg long,string@,long,long
DECLARE long RemoveException IN errdbg
DECLARE long GetException IN errdbg long
DECLARE long strlen IN msvcrt long

Do Form 表单1.scx
Read Events
** AddException(nType, cOutFile, hWnd, uMsg) 注册异常处理
** 参数:
**   nType ..... 0->全部忽略跳过,1->提示选择中止、重试、忽略
**   cOutFile .. 输出异常信息的文件名,为空不输出
**   hWnd ...... 接收异常信息的窗口句柄,为 0 不接收
**   uMsg ...... 发送异常信息的用户自定义消息,为 0 不发送
AddException(1, cDefPath+"errinfo.txt", _screen.hWnd, MY_ERROR)
oErr = CREATEOBJECT("CError")
BINDEVENT(_screen.hWnd, MY_ERROR, oErr, "onError")
SYS(1079,1)
? 1111
fun1()
RemoveException()  && 注销异常处理
CLEAR ALL
RETURN

FUNCTION fun1()
    SYS(1079,1)
    ? 2222
    fun2()
ENDFUNC

FUNCTION fun2()
    SYS(2600,0,1," ")
    ? 3333  
ENDFUNC

DEFINE CLASS CError as Session
    PROCEDURE onError(hWnd,Msg,wParam,lParam)  && wParam指向EXCEPTION_RECORD结构的指针
        nCode = CTOBIN(SYS(2600,wParam,4),"4RS")
        pMsg = GetException(nCode)
        ? TRANSFORM(nCode,"@0"), SYS(2600,pMsg,strlen(pMsg))
        FOR i=1 TO PROGRAM(-1)-1
            ? SPACE(i),PROGRAM(i)
        ENDFOR
        **QUIT
    ENDPROC
ENDDEFINE
2023-08-19 12:46
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
图片附件: 游客没有浏览图片的权限,请 登录注册
2023-08-19 12:47
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:451
帖 子:10564
专家分:43004
注 册:2014-5-20
收藏
得分:0 
回复 17楼 wxzd123
有点乱套
先这样试:“表单1”为顶层表单
程序代码:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)

ON ERROR myError()

Do Form 表单1.scx
Read Events
RETURN

FUNCTION myError()
    MESSAGEBOX("error!!!")
ENDFUNC

如果异常弹窗显示“error!!!”就OK
否则,再试试:
程序代码:
cDefPath = ADDBS(JUSTPATH(SYS(16)))
SET DEFAULT TO (cDefPath)
DECLARE long AddException IN errdbg long,string@,long,long
DECLARE long RemoveException IN errdbg
AddException(0, "", 0, 0)
Do Form 表单1.scx
Read Events
RemoveException()  && 注销异常处理
CLEAR ALL
RETURN



[此贴子已经被作者于2023-8-19 14:30编辑过]

2023-08-19 14:28
wxzd123
Rank: 2
等 级:论坛游民
帖 子:341
专家分:58
注 册:2012-9-6
收藏
得分:0 
版主辛苦了
第一段代码出现
图片附件: 游客没有浏览图片的权限,请 登录注册

图片附件: 游客没有浏览图片的权限,请 登录注册

关不掉,只能到任务管理器终止进程
2023-08-19 14:54
快速回复:请教sql SQL Server 连接断了,程序不能关闭这种错误如何处理?谢谢
数据加载中...
 
   



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

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