看看有没有帮助,你可以做一个判断,如果填入的内容edit1.text在数据库中存在就‘怎么样' 没有就'怎么样'不过可能比较费时间,这段代码你应该看的懂 procedure TForm1.Button1Click(Sender: TObject); var str: string; begin str:='select * from ypxx where ph='+Edit1.Text; AdoQuery1.Close; AdoQuery1.SQL.Clear; AdoQuery1.SQL.Add(str); AdoQuery1.open; AdoQuery1.First; if adoQuery1.Eof then begin showmessage('有了'); end;end;还有就是把DBGRID设成只读,比较好
ADOQuery1.fieldbyname('字段').asstring:=dbedit1;
能否有其它方法?
if not locate(fieldname,edit1.text,[]) then
begin
//进行修改操作
end; 不知道可不可以,
我碰到的问题是:
在dbedit中修改了内容,再把鼠标在dbgrid中一点,就进去了
根本不用post
根本来不及检测呀!
没有就'怎么样'不过可能比较费时间,这段代码你应该看的懂
procedure TForm1.Button1Click(Sender: TObject);
var str: string;
begin
str:='select * from ypxx where ph='+Edit1.Text; AdoQuery1.Close;
AdoQuery1.SQL.Clear;
AdoQuery1.SQL.Add(str);
AdoQuery1.open; AdoQuery1.First;
if adoQuery1.Eof then
begin
showmessage('有了');
end;end;还有就是把DBGRID设成只读,比较好
我的意思是:dbedit中修改内容后又两种方式存进数据库
1,直接用post
2,只要在dbgrid中换行(换行就默认了post)
那么,象第二种形况,我根本来不及检测它就进数据库,检测了有重复也没用