最近客户需要往数据库中导入数据,直接通过AdvStringGrid导入是比较简单的,后来发现了一个问题,如果数据库中已经存在的数据,那么在导入进去,岂不是重复了?特别是那个表如果是基础表,正好你导入的时候,有数据需要和那两个相同的数据关联,而且用的不是主键,问题岂不是打了,就写了如下的代码:
procedure TForm1.ToolButton2Click(Sender: TObject);
var
i :integer;
begin
adoTbCarrier.Close;
adoTbCarrier.Open;
for i := 0 to asg.RowCount-1 do
begin
adoQ.SQL.Text :='Select * from carrier where carrierid ='+ #39+asg.Cells[0,i]+#39;
adoQ.Open;
if adoQ.RecordCount > 0 then
begin
adoQ.Edit;
adoQ.FieldByName('carrierCode').AsStri

在使用AdvStringGrid进行数据库导入时,遇到已存在数据可能导致重复的问题。尤其当导入数据与基础表中的非主键数据关联时,可能会引发错误。为解决这一问题,作者编写了相关代码来避免重复并确保数据的正确关联。
最低0.47元/天 解锁文章
1105

被折叠的 条评论
为什么被折叠?



