我有这样一个循环,是要把一个EXCEL表中的数据写入到数据库中:
while not bh1query.eof do
begin
从数据库中查:货品代号;
if 货品代号='' then
exit
else
得到 货品代号;
根据这个货品代号查价格
if 价格=''then
exit
else
得到 价格
把货品代号和价格写入数据库
end;
现在问题出来了,如果第一个货品代号找到了,那么就把第一条记录写入了数据库,但第二条货品代号没找到,那么就退出了循环,等我把第二个货品代号加入EXCEL表,再得新运行这个程序,那么第一条记录就写入了两次!怎样改改这个程序,让其不重复写入呢!
while not bh1query.eof do
begin
从数据库中查:货品代号;
if 货品代号='' then
exit
else
得到 货品代号;
根据这个货品代号查价格
if 价格=''then
exit
else
得到 价格
把货品代号和价格写入数据库
end;
现在问题出来了,如果第一个货品代号找到了,那么就把第一条记录写入了数据库,但第二条货品代号没找到,那么就退出了循环,等我把第二个货品代号加入EXCEL表,再得新运行这个程序,那么第一条记录就写入了两次!怎样改改这个程序,让其不重复写入呢!
你的问题我没太看懂,
看程序好像没有什么问题,但如果你要做
你可以在表中加一个BIT的字段,当查过后就UPDATE为1
你只找是0的就可以了。
当全部做完后再全部UPDATE为0
exit//
if 货品代号='' then
Continue;
begin
Next;
Continue;
end;
bh1query.first
while not bh1query.eof do
begin
从excel表中查:货品代号;
if 货品代号='' then
begin
next;
conntinue;
end
得到 货品代号;
根据这个货品代号查价格
if 价格=''then
begin
next
continue
end
得到 价格
把这条记录写入数据库(货品代号和价格)
end;
我若按以上执行,假如bh1query查到5条记录,有二条的货品代号为空,那么最后写入数据的只有三条记录,另然两条我在EXCEL表中把货品代号加进去,然后再执行一次这个循环,他会再写5条记录进去,这样就有三条是重复的,怎样改一下结构让其不重复写入数据库呢!