X
xaxaxa
Unregistered / Unconfirmed
GUEST, unregistred user!
我现在有一个问题:
一个dbgrid,在它的update事件中想实现以下过程,当我向dbgrid的其中一列添加数据的时候,首先检索数据表,查看我要添加的内容是不是已经存在,如果存在提示错误,如果不存在,把内容insert到数据表中,可是现在我要更改这一列数值的时候就出现问题,假设原来有个AAA,我现在想把AAA改成AAABBB,这时AAA仍然存在,只是又insert了个AAABBB,我想把AAA改成AAABBB应该怎么实现这个过程,
procedure TFrmain.DBGrideh1Columns0UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
var i:integer;
stri:string;
begin
stri:=text;
WITH queryxl1 do
begin
close;
sql.Clear;
sql.Add('select 素材名称 from 素材参数 where 素材名称='''+stri+'''' );
open;
end;
if queryxl1.IsEmpty=false then
begin
showmessage('该素材名已经存在);
end
else
begin
with queryinsert do
begin
close;
sql.Clear;
sql.Add('insert into 素材参数(素材名称) values('''+stri+''')');
ExecSQL;
end;
end;
一个dbgrid,在它的update事件中想实现以下过程,当我向dbgrid的其中一列添加数据的时候,首先检索数据表,查看我要添加的内容是不是已经存在,如果存在提示错误,如果不存在,把内容insert到数据表中,可是现在我要更改这一列数值的时候就出现问题,假设原来有个AAA,我现在想把AAA改成AAABBB,这时AAA仍然存在,只是又insert了个AAABBB,我想把AAA改成AAABBB应该怎么实现这个过程,
procedure TFrmain.DBGrideh1Columns0UpdateData(Sender: TObject;
var Text: String; var Value: Variant; var UseText, Handled: Boolean);
var i:integer;
stri:string;
begin
stri:=text;
WITH queryxl1 do
begin
close;
sql.Clear;
sql.Add('select 素材名称 from 素材参数 where 素材名称='''+stri+'''' );
open;
end;
if queryxl1.IsEmpty=false then
begin
showmessage('该素材名已经存在);
end
else
begin
with queryinsert do
begin
close;
sql.Clear;
sql.Add('insert into 素材参数(素材名称) values('''+stri+''')');
ExecSQL;
end;
end;