⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 071205_05.htm

📁 对于学习很有帮助
💻 HTM
字号:
<html>

<head>
<link REL="stylesheet" HREF="/style.css" TYPE="text/css">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>计算机世界日报:
控制数据库关键字的重复输入
</title>
<!--***********-->
</head>

<body bgcolor="#FFFFFF" >














<p><br>
<font color="#b904e8"><b><em><a href="class.htm">返回</a></em></b></font>
<center>
<font color="#0000c0"><h2>
控制数据库关键字的重复输入
</h2></font>
<h3>
赖立谦
<br>
[请作者和我们联系]
</h3>
</center>
<p><font color="#ffffff">----</font>
在Delphi中向数据库添加重复的关键字是异常处理的一部分。具体的解决方法是使你的程序能够对异常响应。
<p><font color="#ffffff">----</font>
我们举一个简单的例子来说明。为了方便我们就使用Delphi自带的数据库DBDEMOS,它是Paradox型的数据库,其中表employee.db具有关键字EmpNo。
<p><font color="#ffffff">----</font>
Table1的DataBaseName是DBDEMOS ,TableName是employee.db,Active设为True。DataSource1的DataSet是Table1。DBNavigator1和DBGrid1的DataSource是DataSource1。
<p><font color="#ffffff">----</font>
下面我们就要写Table的OnPostError事件:当出现重复的关键字时,首先要提示用户,然后取消此次操作。这个事件是在修改或向数据库插入记录时产生异常时才响应的。具体代码如下:
<pre>
procedure TForm1.Table1PostError
(DataSet: TDataSet; E: EDatabaseError;
  var Action: TDataAction);
  begin
    if (E is EDBEngineError) then
if (E as EDBEngineError).Errors
[0].Errorcode = eKeyViol then
    begin
      MessageDlg('出现重复记录!',
 mtWarning, [mbOK], 0);
      Table1.Cancel;
      Abort;
    end;
end;
</pre>
<font color="#ffffff">----</font>
<b>说明:</b>
<p><font color="#ffffff">----</font>
1. 通过EDBEngineError异常可以获得描述数据库驱动错误的详细信息。当EDBEngineError异常产生时,就会生成一个EDBEngineError对象,这个EDBEngineError对象包含有异常的错误信息,可以用程序进行分析,从而决定要完成的操作。
<p><font color="#ffffff">----</font>
2. 上面程序的Errorcode是BDE的错误代码,是一个word类型的变量,我们还需要定义它,定义如下:
<pre>
  const
  eKeyViol = 9729;
</pre>
<font color="#ffffff">----</font>
3. 此程序运行时,Delphi的错误信息提示会在你的异常响应之前。所以在Delphi的IDE环境中运行这个程序时,你将先看到Delphi的错误信息提示,程序中断执行,这并不是说明你的程序有错误,此时再按F9,继续执行,才会看到你的异常响应,也就是你自己的错误信息提示。不过如果你直接执行exe文件就不会有这些问题了。
此程序在Delphi4.0、Windows95环境下运行通过。
 





 



<p align="right"><small><em>中国计算机世界出版服务公司版权所有</em></small> 
<br>
</p>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -