Q&A

  • SQL문을 두번 수행할 때 에러!!!
MSSQL Db에서 자료를 가져와서 그걸 stringGrid에 뿌리는 작업을 하고 있습니다.



근데 한번은 잘 수행이 되는데, 같은 작업을(버튼을 누르면) 다시 하게 되면 쿼리를

close 하는 부분에서 에러가 납니다.



한번은 되는데, 왜 두번째 하면 에러가 날까요.. 답변 부탁합니다.



아래 소스를 붙입니다.





sql := '' ;

sql := 'select top '+edit1.text+' s.sdate, s.scode, s.sclose - g.sjisu as ar ' ;

sql := sql + ' from sisi s, sgroup g ' ;

sql := sql + ' where s.sdate = g.sdate ' ;

sql := sql + ' and s.scode = '''+ stringgrid2.cells[1,i]+ ''' ';

sql := sql + ' and s.sdate < '''+ stringgrid2.cells[0,i]+ ''' ';

sql := sql + ' order by s.sdate desc ' ;



adoquery2.Close ;

adoquery2.SQL.Clear ;

adoquery2.SQL.Add(sql) ;

adoquery2.Prepared := true ;

adoquery2.Open ;





1  COMMENTS
  • Profile
    김춘수 2000.11.02 00:08
    금동이 wrote:

    > MSSQL Db에서 자료를 가져와서 그걸 stringGrid에 뿌리는 작업을 하고 있습니다.

    >

    > 근데 한번은 잘 수행이 되는데, 같은 작업을(버튼을 누르면) 다시 하게 되면 쿼리를

    > close 하는 부분에서 에러가 납니다.

    >

    > 한번은 되는데, 왜 두번째 하면 에러가 날까요.. 답변 부탁합니다.

    >

    > 아래 소스를 붙입니다.

    >

    >

    > sql := '' ;

    > sql := 'select top '+edit1.text+' s.sdate, s.scode, s.sclose - g.sjisu as ar ' ;

    > sql := sql + ' from sisi s, sgroup g ' ;

    > sql := sql + ' where s.sdate = g.sdate ' ;

    > sql := sql + ' and s.scode = '''+ stringgrid2.cells[1,i]+ ''' ';

    > sql := sql + ' and s.sdate < '''+ stringgrid2.cells[0,i]+ ''' ';

    > sql := sql + ' order by s.sdate desc ' ;

    >

    > adoquery2.Close ;

    > adoquery2.SQL.Clear ;

    > adoquery2.SQL.Add(sql) ;

    > adoquery2.Prepared := true ;

    > adoquery2.Open ;

    >

    >



    > sql := 'select top '+edit1.text+' s.sdate, s.scode, s.sclose - g.sjisu as ar '

    이분분에서 '+edit1.text + ' 부분을 " + edit1.text+" 으로..변경해보세요.