Key 값이 중복되지도 않구요. Key Violation Error 가 난 후에 다시 들어가보면
데이터들은 제대로 전부 다 insert 되어있거든요.
데이터를 다 넣고 마지막에 Error가 나는것 같은데. 왜 나는지 모르겠네요.
Query1.Close;
while not dbgrid1.DataSource.DataSet.EOF do //마지막까지 loop
begin
if dbgrid1.fields[0].Text <> '' then
query1.SQL.Clear;
Query1.SQL.text :='insert into maindb.db (id, country, salesman, quotationno) values ('''+dbgrid1.Fields[0].asstring+''','''+dbgrid1.Fields[1].asstring+''', '''+dbgrid1.Fields[2].asstring+''', '''+dbgrid1.Fields[2].asstring+''')';
Query1.execsql;
dbgrid1.DataSource.DataSet.next;
end;
Query1.open;
> Key 값이 중복되지도 않구요. Key Violation Error 가 난 후에 다시 들어가보면
> 데이터들은 제대로 전부 다 insert 되어있거든요.
> 데이터를 다 넣고 마지막에 Error가 나는것 같은데. 왜 나는지 모르겠네요.
>
> Query1.Close;
> while not dbgrid1.DataSource.DataSet.EOF do //마지막까지 loop
> begin
> if dbgrid1.fields[0].Text <> '' then
> query1.SQL.Clear;
> Query1.SQL.text :='insert into maindb.db (id, country, salesman, quotationno) values ('''+dbgrid1.Fields[0].asstring+''','''+dbgrid1.Fields[1].asstring+''', '''+dbgrid1.Fields[2].asstring+''', '''+dbgrid1.Fields[2].asstring+''')';
> Query1.execsql;
> dbgrid1.DataSource.DataSet.next;
> end;
> Query1.open;
마지막 줄 코딩이 이상하네요... 데이터를 부르는 SQL문이 없는거 같은데..
SQL문에 Insert....가 남아 있는데 Open...? 그리고..
SQL문에 Insert... 일때 Open을 하면 입력값이 저장이됩니다. 그리고 에러가 뜨지요. 왜? (ExecSQL)이 아니므로...
마지막 Insert문에서 open을 하여 똑같은 데이터가 들어가 에러가 발생하는 것 같습니다. open을 하면 에러가 뜨지만 데이터는 저장이 되거든요.
(Select * from maindb) <- 이거요.
SQL문을 추가 시키고 한번다시하심이...
도움이 되었는지 모르겠습니다. 도움이 되었으면 ^^
수고하세요.