delphi中的SQL语句

delphi中,如何在某个条件(如在序号在库中有记录)下执行修改数据库的语句,在另一条件(序号在库中没有记录)下执行插入数据库的语句... delphi中,如何在某个条件(如在序号在库中有记录)下执行修改数据库的语句,在另一条件(序号在库中没有记录)下执行插入数据库的语句 展开
 我来答
匿名用户
2013-08-18
展开全部
你可以先执行更新的然后判断一下影响行数如果为0就再执行插入的,
代码大概是这样的判念
adocommand1.Close;
adocommand1.CommandText:='州清 update 库存库 set 库存数量=库册冲前存数量+'+input.stringgrid1.Cells[3,i]+',库存金额=库存金额+'+input.stringgrid1.Cells[5,i]+' where 货号='+stringgrid1.Cells[1,i]+' ';
if adocommand1.Execute=0 then
begin
adocommand1.Close;
adocommand1.CommandText:= 'insert into 库存库([货号],[库存数量],[库存单价],[库存金额]) values('''+stringgrid1.Cells[1,i]+''','''+input.stringgrid1.Cells[3,i]+''','''+input.stringgrid1.Cells[4,i]+''','''+input.stringgrid1.Cells[5,i]+''')' ;
adocommand1.Execute;
end;
匿名用户
2013-08-18
展开全部
var
tf:tfilestream;
name,path:string;
p:integer;
begin
p:=0;
if form1.OpenDialog1.Execute then
begin
try
name:=form1.OpenDialog1.FileName;
form1.OpenDialog1.GetNamePath;
showmessage(name);
tf:=tfilestream.Create(name,fmOpenRead);
adoquery1.Edit;
adoquery1.Insert;
tblobfield(adoquery1.FieldByName('contect')).loadfromstream(tf);//contect为表中存睁森信储文件内容的字段名
p:=pos('.',name);
name:=copy(name,p,length(name)-p+1);
adoquery1.FieldByName('name').Value:=name;//春铅name为表中存储文件后缀名悉轮的字段
adoquery1.Post;
tf.Free;
except
tf.Free;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-08-18
展开全部
添加、修改前面誉腔加个条租丛件。with query1 dobegin close; sql.clear ; sql.add('select * from yourtable where .序号=....'); open ;end; if query1.count=0 thenbegin 你庆型衫的插入语句;endelse if query1.count>0 thenbegin 你的修改语句;end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
贸一谷梁初曼
2020-03-14 · TA获得超过3804个赞
知道大有可为答主
回答量:3200
采纳率:34%
帮助的人:259万
展开全部
不是“=:”,而是=参数。在delphi的query的SQL中,参数用“:参数名”表示。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式