Q&A

  • 텍스트 읽어서 DB로 insert 하는건데요. 처음 한줄만 입력하고 에러가..
//텍스트 파일 내용입니다.

//010211 1 123456789013 01 0 1 6 5

//010212 2 123456789014 02 0 1 6 5

//010213 3 123456789015 03 0 1 6 5

//010214 4 123456789016 04 0 1 6 5

//010215 5 123456789017 05 0 1 6 5

//010216 6 123456789018 06 0 1 6 5

//010217 7 123456789019 07 0 1 6 5

//010218 8 123456789010 08 0 1 6 5

//010219 9 123456789011 09 0 1 6 5



한줄(첫째줄)은 읽어서 저장은 되는데.. Execute 가 실행되면서.. 에러가 나네요.

에러메세지 타이틀이 CPU 라고 되어있고.. 16진수 값이 가득 들어있는 에러예요.

뭔지 좀.. 가르쳐주세요.

어제부터 아주 미치겠습니다.









procedure TForm1.Button1Click(Sender: TObject);

Var

I, K: Integer;

MM, CD, Eno, Pno, svl1,svl2, svl3, svl4 : string;

FP : Textfile;

Buf: string;



begin

AssignFile(FP, 'c:Delphi_ExFile_RWlove_testlove.txt');

Reset(FP);



While not Eof(fp) do

begin

MM := ''; buf := ''; CD := ''; Eno := ''; Pno := '';

svl1 := ''; svl2 := ''; svl3 := ''; svl4 := '';



Readln(FP,Buf);

K := 0;



for i := 1 to length(buf) do //행의 길이만큼 반복

begin

if buf[i] = ' ' then // -> ' ' 구분자

inc(k)

else

case K of

0 : MM := MM + Buf[i]; //응시월

1 : CD := CD + buf[i]; //과목구분

2 : Eno := Eno + buf[i]; //응시번호

3 : Pno := Pno + buf[i]; //문항번호

4 : svl1 := svl1 + buf[i]; //답안1

5 : svl2 := svl2 + buf[i]; //답안2

6 : svl3 := svl3 + buf[i]; //답안3

7 : svl4 := svl4 + buf[i]; //답안4

end;

end; //for i



//**************** INSERT *************************

with Query1 do begin

Query1.Close;

Query1.SQL.Clear;

Query1.SQL.Add('insert into aa_03');

Query1.SQL.Add(' values(:r1,:r2,:r3,:r4,:r5,:r6,:r7,:r8)');

Query1.ParambyName('r1').AsString := MM; //응시월

Query1.ParambyName('r2').AsString := CD; //과목구분

Query1.ParambyName('r3').AsString := Eno; //응시번호

Query1.ParambyName('r4').AsString := Pno; //문항번호

Query1.ParambyName('r5').AsString := svl1; //답안1

Query1.ParambyName('r6').AsString := svl2; //답안2

Query1.ParambyName('r7').AsString := svl3; //답안3

Query1.ParambyName('r8').AsString := svl4; //답안4

Query1.ExecSQL;

end;

//**************************************************

end;

end;

0  COMMENTS