한번은 아무런 문제가 없는데 두번째 실행 하면 SQL문쪽에서 에러가 발생 합니다.
도대체 원인을 모르겠습니다. 델 천재님들 문제가 어떤건지 한번 봐 주세요...
에러가 발생하는 부분을 Showmessage해서 찾았는데 문법 적으로 무엇이 문제인지 모르겠습니다.
procedure thcz301pf.Loop_sql;
var n_1 : integer;
ce_bcod,ce_pyon, ce_scod, ce_pyon1, ce_pyon2, ce_pyon3,
ce_pyon4, ce_pyon5, ce_pyon6 : String;
Begin
with sql_num2 do
Begin
sql_num2.Close;
sql.Clear;
sql.add('select us_numb, us_bcod, us_jemu, us_name, us_jday, ');
sql.Add('(select ma_pyon from cjma where us_numb=ma_numb and
ma_scod = ''100087'') as aa5,');
sql.Add('(select ma_pyon from cjma where us_numb=ma_numb and
ma_scod = ''100195'') as aa6,');
sql.Add('us_pyon from cjus where us_jday BetWeen :s_day1 and :e_day1');
sql_num2.Parameters.ParamByName('s_day1').Value := s_day;
sql_num2.Parameters.ParamByName('e_day1').Value := e_day;
sql_num2.Open;
sql_num2.First; --------- 여기서 계속 에러가 발생합니다...
n_1 := 0;
While Not eof do
begin
n_1 := n_1+1;
table1.Append;
table1.FieldByName('cj_no').AsString := inttostr(n_1);
table1.FieldByName('cj_numb').AsString := FieldByName('us_numb').AsString;
table1.Post;
sql_num2.Next;
App_Front ;
end;
table1.Refresh;
table1.Close;
sql_num2.Close;
end;
end;
SQL문에 오류가 있다면 이런식으로 소스를 올리지 마시고요
sql_num2.Open <= 이부분 위쪽에
edit1.text := sql.text;
이런식으로 코딩해보세요 그럼 SQL 문을 복사 할수 있습니다
그걸 가지고 쿼리 분석기나...아니면 쿼리를 직접 날릴수 있는곳에
붙여 넣기 하고 실행 해보세요 더 정확한 오류 메세지를 얻을수 있을
겁니다.