我的意图是向数据表中插入数据!! 先检测后插入!!!
代码如下:
with query1 do begin
close;
sql.Clear ;
sql.Add('select 商品编号 from shangpin where 商品编号=:id');
parambyname('id').asstring:=trim(edit1.text);
open;
if fieldbyname('商品编号').asstring='' then begin
sql.Clear ;
sql.Add('insert into shangpin(商品编号,商品名称,单位,规格) values(:sid,:smc,:sdw,:sgg)');
parambyname('sid').asstring:=trim(edit1.text);
parambyname('smc').asstring:=trim(edit3.text);
parambyname('sdw').asstring:=trim(edit2.text);
parambyname('sgg').asstring:=trim(edit4.text);
execsql;
end; end;
代码如下:
with query1 do begin
close;
sql.Clear ;
sql.Add('select 商品编号 from shangpin where 商品编号=:id');
parambyname('id').asstring:=trim(edit1.text);
open;
if fieldbyname('商品编号').asstring='' then begin
sql.Clear ;
sql.Add('insert into shangpin(商品编号,商品名称,单位,规格) values(:sid,:smc,:sdw,:sgg)');
parambyname('sid').asstring:=trim(edit1.text);
parambyname('smc').asstring:=trim(edit3.text);
parambyname('sdw').asstring:=trim(edit2.text);
parambyname('sgg').asstring:=trim(edit4.text);
execsql;
end; end;
解决方案 »
- 把ClientDataSet作为本地数据集,连接本地文本文件后增加大量数据后,都删除掉,再对其操作,其慢无法忍受,怎么办?
- 请大家帮我看看,明天就等着解决问题,交任务,
- 高手请进
- 搞的我头昏脑胀的问题!!百思不得其解!进来看看吧!
- 请教一个时间的问题,怎么判断两个时间呢?
- 为何MDI子窗体放到DLL中,它的Active事件就无法响应,非得传Screen到DLL中才能解决?
- 为什么会出现这样的问题?
- 值参数与变量参数的区别在哪里??
- select top 10 * from table。为什么不行呢?select top(10) * from table这样不行?
- 请帮忙解惑SearchRec.Attr and faDirectory 虽然问题比较菜,但对我很重要啊。谢谢
- ★★电子日记本(EDiary)的作者(白日梦工作室)死哪去了?都3年没更新了!我还在用1.00 Beta 2呢!给你写信([email protected])你也不回
- 如何在delphi中在一个文本框中实现不同行用不同颜色显示,在线等待!
Close;//这个不能少吧
sql.Clear ;
sql.Add('insert into shangpin(商品编号,商品名称,单位,规格) values(:sid,:smc,:sdw,:sgg)');
parambyname('sid').asstring:=trim(edit1.text);
parambyname('smc').asstring:=trim(edit3.text);
parambyname('sdw').asstring:=trim(edit2.text);
parambyname('sgg').asstring:=trim(edit4.text);
execsql;
end; end;
close;
sql.Clear ;
sql.Add('select * from shangpin where 商品编号=:id');
parambyname('id').asstring:=trim(edit1.text);
open;
if Not fieldbyname('商品编号').asstring='' then
begin
Insert;
FieldByName('sid').asstring:=trim(edit1.text);
FieldByName('smc').asstring:=trim(edit3.text);
FieldByName('sdw').asstring:=trim(edit2.text);
FieldByName('sgg').asstring:=trim(edit4.text);
Post;
end; end;
少了一个“close;”