procedure TForm1.ADOQuery1AfterPost(DataSet: TDataSet);
begin
{ 判断 }
end;
begin
{ 判断 }
end;
解决方案 »
- 立秋日,山间随记【献图】
- Table 问题!
- 关于数据库提交的问题~
- 怎么计算两个日期(跨年)之间间隔的周数,如2005-02-03至2006-05-03之间的周数
- 本人近期准备开发一个进销存系统,由于是初学,目前有一难题,按纽为灰色
- 哪有DELPHI5.0下载呀???给个地址吧。
- 如何获取window.alert的内容?
- 新建群:Delphi+DB 843353 欢迎加入!
- 我怎样拷贝文件夹用代码写?
- 高手神秘奇怪问题,大家帮一把吧(局域网)
- delphi中如何限制DBEDIT中的输入,如DBEDIT1的日期必须在DBEDIT2日期前。代码怎么写呀?
- 我已经决心今年考"中程"或"高程"...
procedure TForm1.ADOQuery1AfterPost(DataSet: TDataSet);
begin
adoq1.close;
adoq1.sql.clear;
adoq1.sql.add('select name from tab1 where name like '
+#39+ADOQuery1.fieldbyname'name'+#39);
adoq1.open;
with adoq1.fields[0] do
begin
if (not is null) or (asstring<>'') then
begin
adoq1.close;
abort;
exit;
end;
end;
end;
const
cKeyField = 'filed1';
var
vBook: string;
B: Boolean;
S: string;
begin
vBook := DataSet.Book;
S := DataSet.FieldByName(cKeyField).AsString;
DataSet.Filter := cKeyField + '=' + QuotedStr(S);
DataSet.FindFirst;
repeat
B := vBook <> DataSet.Book;
until B or (not DataSet.FindNext);
DataSet.First;
DataSet.Book := vBook;
if B then begin
ShowMessage('重复,需要时间不是你给的分少');
DataSet.Delete;
end;
end;
cKeyField = '姓名';
// ~~~~~~~
处理的方法就是使用一个query,在上述的事件中处理:begin
adoq1.close;
adoq1.sql.clear;
adoq1.sql.add('select name from tab1 where name like '+#39+ADOQuery1.fieldbyname'name'+#39);
adoq1.open;
if adoq1.recordcount <> 0 then
begin
showmessage('记录已经存在!');
abort;
end;其实看你的要求怎么样,我觉得没有必要对每个字段都做这种的检查
不会吧!!
这是delphi!!
不是吗?
不是吗?
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?如果出错把代码给我看看
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?
to andyting(安帝):你试我的方法没有?如果出错把代码给我看看