StringGrid에 있는 내용을 table에 insert하려고 합니다. 그런데
총100개의 Data인데 50개만 insert되고 error가 발생합니다.
뭐가 잘 못된거줘???
(에러메시지 : key violation)
--------------------------------코딩부분
with query1 do begin
Active:=False;
Close;
SQL.clear();
SQL.Add(' Insert into "BOBG.DB"(Division,DutyNumber,Amount)');
SQL.Add(' Values (:Division,:DutyNumber,:Amount)');
For Count:= 1 to 100 do begin
paramByName('Division').AsSmallInt:=1;
paramByName('DutyNumber').AsSmallInt:=
strtoint(StringGrid1.Cells[0,Count]);
paramByName('Amount').AsInteger:=
strtoint(StringGrid1.Cells[1,Count]);
EXecSQL;
end;
혹시 중복키 허용이 않되는 인덱스에 중복키를 삽입한 것이 아닌가요?
hyo wrote:
>
> StringGrid에 있는 내용을 table에 insert하려고 합니다. 그런데
> 총100개의 Data인데 50개만 insert되고 error가 발생합니다.
> 뭐가 잘 못된거줘???
>
> (에러메시지 : key violation)
>
> --------------------------------코딩부분
> with query1 do begin
> Active:=False;
> Close;
> SQL.clear();
> SQL.Add(' Insert into "BOBG.DB"(Division,DutyNumber,Amount)');
> SQL.Add(' Values (:Division,:DutyNumber,:Amount)');
>
> For Count:= 1 to 100 do begin
> paramByName('Division').AsSmallInt:=1;
> paramByName('DutyNumber').AsSmallInt:=
> strtoint(StringGrid1.Cells[0,Count]);
> paramByName('Amount').AsInteger:=
> strtoint(StringGrid1.Cells[1,Count]);
> EXecSQL;
> end;
>