ADOQeury를 사용해서 엑셀 파일을 DBGrid로 읽어왔습니다.
그런데 insert 할 때 에러가 발생합니다.
while not ADOQuery1.Eof do begin
ADOQuery2.Close;
ADOQuery2.Sql.Clear;
ADOQuery2.Sql.Text := 'insert into tmp_sr040m(a,b,c,d) values(:a,:b,:c,:d)';
ADOQuery2.Parameters.ParamByName('a').Value := DBGRid1.Fields[0].AsString;
ADOQuery2.Parameters.ParamByName('b').Value := DBGRid1.Fields[1].AsString;
ADOQuery2.Parameters.ParamByName('c').Value := DBGRid1.Fields[2].AsString;
ADOQuery2.Parameters.ParamByName('d').Value := DBGRid1.Fields[3].AsString;
ADOQuery2.Execsql;
ADOQuery1.Next;
end;
'매개 변수 개체를 잘못 정의했습니다. 제공된 정보가 일치하지 않거나 완전하지 않습니다.'
테이블은 not null을 전부 허용했습니다만,
엑셀 파일에는 DBGRid1.Fields[3].AsString 에 해당하는 값이 존재하는데 특정 몇 건 만 DBGrid에 값이 안 나옵니다.
주민번호인데 셀 서식을 숫자 형식으로 되어 있는데 필드는 varchar 타입니다.
엑셀의 특정 row만 그런 것은 왜 그런 것인지여?
그 문제 때문에 위와 같은 에러가 발생하는 거 같습니다.
답변 부탁드립니다.
즐코하세여.