关于超想
本站导航
邮件列表
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 数据库-SQL ->详细
相关内容  
 
 
给表的过滤和查询加入例外处理
 
【新品推荐】

  详细内容
 

如何扑捉运行SQL语句时的错误
作者: 评价: 上站日期: 2001-07-01
内容说明:
来源:

  老是有朋友在开发一些开放的数据库接口(比如Delphi的SQL Explorer工具)时发愁,既然是开放的,当然需要允许用户使用SQL语句访问数据库,这些还好办,一旦用户的运行SQL语句出现错误,程序员如何扑捉该异常呢?很简单,看看下面的函数: Const
  ExecSQLMode = 0 ;
  OpenSQLMode = 1 ;
  ResultRight = 'SQL query result is right' ;
  ...
  function RunSql(RunQuery: TQuery; Sqls: TStringList; var ErrorMsg: string; 
  Mode: integer) : integer ; 
  begin
  ErrorMsg := ResultRight ;
  Result := 0 ;
  try
  RunQuery.DatabaseName := 'RecordDB' ;
  RunQuery.SQL.Clear() ;
  RunQuery.SQL.AddStrings(Sqls) ;
  if Mode = ExecSQLMode then
  RunQuery.ExecSQL()
  else
  RunQuery.Open() ;
  except
  on e:exception do 
  ErrorMsg := e.Message + #13 + #10 +'--- 错误是俺发现的 ---' ;
  end;
  end;

  朋友看明白了吧,我的函数很简单,将SQL语句代码段作为参数传递给TQuery组件,通过设置查询方式(ExecSQLMode、OpenSQLMode)来处理有结果集返回的数据查询语句(select)或是没有结果集返回的数据操作语言(update、delete、insert、create等)。而异常的扑捉呢,我们扑捉所有异常的老祖宗Exception,因为Delphi的所有异常都是从Exception继承下来的,这样一个简单的SQL语句运行和异常处理函数就完成了,一旦返回的ErrorMsg的值不是ResultRight,ErrorMsg就会返回异常的信息,程序员就可以加以判断以处理不同的情况。

 
你所在的位置 -> 主页 -> 超想软件 -> 编程资料 -> delphi -> 开发技巧 -> 数据库-SQL ->详细
  首页 | 本站产品 | Delphi资料 | 免费资源 | 程序人生 | 软件工程 | 网站设计 | 推荐网站
声明:本站内容除注明原创以外均从网上摘抄,如有侵权请指明。
  如果您对我们的网站有什么意见或者建议,请与我们联系
powered by 建站易上手- V2.0