首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 连接数据库异常问题! [已结贴,结贴人:sunnyqboy]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunnyqboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    • 揭贴率:
    发表于:2008-08-21 09:54:20 楼主
        最近用delphi写了一个小软件,在连接数据库的时候,有可能出现数据库服务器未开启或者数据库服务器突然断开了。是不是我在每一个调用的sql语句中都要捕获异常啊?该怎么做?
        我现在的做法是:
          try
          QryTmp.ExecSql;
        except
          Application.MessageBox(PChar('数据库连接失败...请查看数据库连接是否正常...!'),PChar('警告'),MB_OK +      MB_ICONWARNING);
        end;
        但是每执行一个sql都写一遍太麻烦了啊?该怎么做啊?而且如何正确捕获?谢谢大家指点!
    30  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kernelj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:03:281楼 得分:0
    try
          QryTmp.ExecSql;
        except
          Application.MessageBox(PChar('数据库连接失败...请查看数据库连接是否正常...!'),PChar('警告'),MB_OK +      MB_ICONWARNING);
        end;

    吧这个放进一个过程,调用该过程。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • kernelj
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-21 10:03:572楼 得分:0
    try
          QryTmp.ExecSql;
        except
          Application.MessageBox(PChar('数据库连接失败...请查看数据库连接是否正常...!'),PChar('警告'),MB_OK +      MB_ICONWARNING);
        end;

    吧这个放进一个过程,调用该过程。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • sunnyqboy
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 08:58:203楼 得分:0
    大家多提点建议啊!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • shuihan20e
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:16:444楼 得分:0
    Delphi(Pascal) code
    try QryTmp.ExecSql; except on e:Exception do begin Application.MessageBox(PChar('数据库连接失败...请查看数据库连接是否正常...!错误信息:'+e.Message),PChar('警告'),MB_OK + MB_ICONWARNING); end; end;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • suihu
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 09:26:585楼 得分:30
    自己封装一个方法,里面实现对异常的捕获。
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • ronal212121
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-22 10:09:536楼 得分:0
    Delphi(Pascal) code
    function ExecSQL(Str:String):string; //返回成功与否 自己改改 写成过程也可以 ADOset:TADOQuery; begin ADOset:=TADOQuery.Create(Nil); ADOset.Connection:=FrmDM.adoDB; With ADOset do begin Close; SQL.Clear; SQL.Add(Str); end; try ADOset.ExecSQL ; Result:='成功!' except Result:='失败!' Application.MessageBox(PChar('数据库连接失败...请查看数据库连接是否正常...!'),PChar('警告'),MB_OK + MB_ICONWARNING); end; end;
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • nongen
    • 等级:
    • 可用分等级:
    • 总技术分:
    • 总技术分排名:
    发表于:2008-08-23 22:29:597楼 得分:0
    检查:Connection
    检查:SQL代码
    检查:Query先前执行有没有关闭
    检查:Query赋查询串之前有没有clear
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved