Q&A

  • 레코드를 추가하는 SQL문입니다. 좀 봐주세요(소스포함)
procedure TForm3.Button1Click(Sender: TObject);

begin

with Query1 do

begin

Close;

SQL.Clear;

SQL.Add(

Insert into jamesdeanM -------------------|

(STUNUM, NAME, HAKGOA) |=> "요 부분입니다".

values |

(edit1.text, edit2.text, edit3.text)------|

);

ExecSQL;

end

form1.Edit1.text:=Edit2.text;

edit1.text:='';

edit2.text:='';

edit3.text:='';

close;

end;



"jamesdeanM은 gdb데이터베이스의 테이블입니다."



녕하세요, 델파이 관계자 여러분들......

위의 화살표 부분은 레코드를 추가하는 SQL문인데요(잘 아시겠지만)

저걸 델파이 소스내에서 어떻게 바꿔줘야하죠?

자꾸 에러가 나는 군요.

글구 맞게 했는지 모르겠네요.

아, 그리고 위의 소스는요 버튼을 누르면 데이블에 에디트의 내용을 추가하

는 건데요, 퀴리컴포넌트하고 데이터소스 컴포넌트가 다 있어야 합니까?

부탁드리겠습니다.

그럼 항상 좋은 하루 되세요!!!

2  COMMENTS
  • Profile
    신범호 2000.05.20 03:19
    procedure TForm3.Button1Click(Sender: TObject);

    var temp : string;

    begin

    temp := '';

    temp := ' insert into 데이블 ' +

    ' values ( :aaa, :bbb) ' ;

    Qury1.close;

    Qury1.sql.clear;

    Qury1.sql.add(temp);

    Qury1.parambyname('aaa'),AsString := edit1.text);

    Qury1.parambyname('bbb'),AsString := edit2.text);

    Qury1.Exec;



    end;



    파라미터를 이용하세여





  • Profile
    각시탈 2000.05.20 03:19
    제가 각각의 필드에 대한 Type몰라서 제 임의대로

    필드의 타입을 정했습니다.

    쿼리 콤포넌트는 필요합니다.

    만약 디비그리드나 디비에디터에 표출하고자 한다면 데이타소스 콤포넌트도

    필요하겠죠..

    각각의 값들은 parambyname을 이용하여 했습니다.

    각각의 에디터값을 직접 입력하는 방법도 좋은 방법이지만

    좀더 나은 프로그램을 하기위해서는 파라미터를 사용하는 것이

    좋은 방법인것 같습니다.



    procedure TForm1.Button1Click(Sender: TObject);

    var

    StuNum_Value : Integer;

    StuName_Value : String;

    StuHakGoa_Value : String;

    begin

    StuNum_Value := StrToInt(Edit1.Text);

    StuName_Value := Edit2.Text;

    StuHakGoa_Value := Edit3.Text;

    with Query1 do

    begin

    Close;

    SQL.Clear;

    SQL.Add( 'Insert into jamesdeanM');

    SQL.Add( '(STUNUM, NAME, HAKGOA) values');

    SQL.Add( '(:pSTUNUM,:pNAME,:pHAKGOA)');

    ParamByName('pSTUNUM').asInteger:= StuNum_Value;

    ParamByName('pNAME') .asString := StuName_Value;

    ParamByName('pHAKGOA').asString := StuHakGoa_Value;

    ExecSQL;

    end;

    Form1.Edit1.text:=Edit2.text;

    Edit1.text:='';

    Edit2.text:='';

    Edit3.text:='';

    Close;

    end;



    도움이 되셨으면 합니다.

    항상 즐팅하세요.. 잘되지는 지 결과나 알려주세요..