Q&A

  • [Error] Undeclared identifier: 'Query1'
unit Unit1;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, StdCtrls, ComCtrls, Buttons, Grids, DBGrids, Db, DBTables;

type

TForm1 = class(TForm)

...

Query1: TQuery;



private

{ Private declarations }

public

{ Public declarations }

end;



var

Form1: TForm1;



procedure Sql_Run;



implementation



{$R *.DFM}



procedure TForm1.btnSAVEClick(Sender: TObject);

begin

Sql_Run;

end;



procedure Sql_Run;

begin

if sql_str = '' then

showmessage('Error')

else begin

try

with Query1 do begin //Query1을 인식 못함

Close;

Sql.Clear;

Sql.text := sql_str;

ExecSQL;

end;

except

showmessage('sql is wrong');

end;

end;

end;



이상합니다.

분명히 Query1은 선언되어 있는데 ...



왜 그렇지요?



감사합니다.





3  COMMENTS
  • Profile
    최용일 2000.02.21 23:00
    최용일 wrote:



    with Query1 do begin ===> with Form1.Query1 do begin 이렇게 하면 됩니다..



    아니면 Sql_Run이라는 함수를 TForm1.btnSaveClick 메소드 내부로 옮기면 되죠...





  • Profile
    최용일 2000.02.21 22:55


    with Query1 do begin ===> with Form1.Query1 do begin 이렇게 하면 됩니다..







    김진호 wrote:

    > unit Unit1;

    > interface

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > ExtCtrls, StdCtrls, ComCtrls, Buttons, Grids, DBGrids, Db, DBTables;

    > type

    > TForm1 = class(TForm)

    > ...

    > Query1: TQuery;

    >

    > private

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > procedure Sql_Run;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.btnSAVEClick(Sender: TObject);

    > begin

    > Sql_Run;

    > end;

    >

    > procedure Sql_Run;

    > begin

    > if sql_str = '' then

    > showmessage('Error')

    > else begin

    > try

    > with Query1 do begin //Query1을 인식 못함

    > Close;

    > Sql.Clear;

    > Sql.text := sql_str;

    > ExecSQL;

    > end;

    > except

    > showmessage('sql is wrong');

    > end;

    > end;

    > end;

    >

    > 이상합니다.

    > 분명히 Query1은 선언되어 있는데 ...

    >

    > 왜 그렇지요?

    >

    > 감사합니다.

    >

    >

  • Profile
    aaa 2000.02.21 22:51
    이게 답변이 될려나 모르겠네요...



    DFM에 제너레이션 될때 오류가 생긴 것일 수 도 있습니다.



    Query1을 폼에서 삭제하고 다시 폼에 얹어 놓으세요...



    그것두 아니면 다시 폼을 디자인 하십시요....



    김진호 wrote:

    > unit Unit1;

    > interface

    > uses

    > Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

    > ExtCtrls, StdCtrls, ComCtrls, Buttons, Grids, DBGrids, Db, DBTables;

    > type

    > TForm1 = class(TForm)

    > ...

    > Query1: TQuery;

    >

    > private

    > { Private declarations }

    > public

    > { Public declarations }

    > end;

    >

    > var

    > Form1: TForm1;

    >

    > procedure Sql_Run;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > procedure TForm1.btnSAVEClick(Sender: TObject);

    > begin

    > Sql_Run;

    > end;

    >

    > procedure Sql_Run;

    > begin

    > if sql_str = '' then

    > showmessage('Error')

    > else begin

    > try

    > with Query1 do begin //Query1을 인식 못함

    > Close;

    > Sql.Clear;

    > Sql.text := sql_str;

    > ExecSQL;

    > end;

    > except

    > showmessage('sql is wrong');

    > end;

    > end;

    > end;

    >

    > 이상합니다.

    > 분명히 Query1은 선언되어 있는데 ...

    >

    > 왜 그렇지요?

    >

    > 감사합니다.

    >

    >