我有2个表
表1中 药品名称,进货数量
表2中 药品名称(主键),库存量;
在表1中添加多笔数据以后,更新表2
我的想法是:查找表1的记录药品名称
已经在表2中存在的话,直接修改库存量
否则添加药品名称。
但是如果添加的数据中的药品名称
有重复的话,怎么也跟新不了表2
提示关键字错误。
怎么办?
表1中 药品名称,进货数量
表2中 药品名称(主键),库存量;
在表1中添加多笔数据以后,更新表2
我的想法是:查找表1的记录药品名称
已经在表2中存在的话,直接修改库存量
否则添加药品名称。
但是如果添加的数据中的药品名称
有重复的话,怎么也跟新不了表2
提示关键字错误。
怎么办?
解决方案 »
- 服务程序中使用数据库对象的问题..
- 关于判断文件唯一性,怎么提取特征码
- 求delphi开发客户端ActiveX控件的步骤!(100分奉上)
- 如何更改access2000的数据库密码?
- 请问谁有图像模型匹配的源程序吗,可以给我发一份吗?急需,来不及自己做了,请各位帮帮忙哦!!
- 如何得到当前系统的用户名
- 一个简单问题在线等待)
- Delphi 7.0 开发的WebService 在 Win 2003 发布出现的问题
- 简单问题高分报答!!!!
- 一个月都没有人搞定这问题真的很难吗?高手呀你在哪里?谁有在delphi7环境下发送电子邮件的原代码?
- 求助在dbgrid中插入一条记录
- 谁有infopower3000的密码啊
from 表2 a,表1 b where a.药品名称=b.药品名称insert into 表2 (药品名称,库存量)
SELECT 药品名称,进货数量 FROM 表1
where 表1.药品名称 not in (select 药品名称 from 表2)
s:variant;
begin
for i:=0 to adotable1.RecordCount do
begin
s:=adotable1.FieldValues['ypmc'];
adotable2.Active:=true;
adotable2.open;
with adotable2 do
if locate('rpmc',s,[]) then
begin
adotable2.edit;
adotable2.fieldvalues['ypmc']:=adotable1.fieldvalues['ypmc'];
adotable2.FieldValues['kcsl']:=inttostr(strtoint(adotable1.fieldvalues['sl'])+adotable2.fieldvalues['kcsl']);
//adotable2.post;
//adotable2.refresh;
end
else
begin
adotable2.open;
adotable2.append;
adotable2.fieldvalues['ypmc']:=adotable1.fieldvalues['ypmc'];
adotable2.fieldvalues['kcsl']:=adotable1.fieldvalues['sl'];
//adotable2.post;
//adotable2.refresh;
end;
end;
end;