Q&A

  • Query문 구성은 어케하나여~~~
델파이 초봅니다.



1. 화면에 2개의 Editbox가 있고, Where절에서 조건으로 이용됩니다.

edit1.text, edit2.text가 query문에 들어가거든요..



SELECT * FROM TABLE WHERE field1 = 'edit1.text' And field2 = 'edit2.text'



형태로 Query문을 작성해야 되는데... 문자열을 표시하는 "'"는 어케 써야 되는지...



2. 이번에는 Insert 문장임다..

델파이에 보니까... DBGrid가 있더라구요..

근데.. DBGrid의 Column이 3개인데...Insert문장에서 Column을 어케가져와서 써주는

지 궁금합니다.

옛날 VB에서는

grid.column = 1; grid.row = 1

grid.text해서 가져왔던 기억이 있는데...



빠른 답변을 고수님들께 부탁드리면서....

이글을 힘들게 읽어주신 모든분께...행운이 항상 함께하길 바랍니다.



그럼 2만...

2  COMMENTS
  • Profile
    한현정 2000.06.20 05:33
    양승원 wrote:

    > 델파이 초봅니다.

    >

    > 1. 화면에 2개의 Editbox가 있고, Where절에서 조건으로 이용됩니다.

    > edit1.text, edit2.text가 query문에 들어가거든요..

    >

    > SELECT * FROM TABLE WHERE field1 = 'edit1.text' And field2 = 'edit2.text'

    >

    > 형태로 Query문을 작성해야 되는데... 문자열을 표시하는 "'"는 어케 써야 되는지...



    Query1.SQL.Add( 'SELECT * FROM TABLE WHERE field1 = '''+edit1.text+''' And field2 = '''+edit2.text+'''');

    이렇게 쓰면되지 않을까요?







    >

    > 2. 이번에는 Insert 문장임다..

    > 델파이에 보니까... DBGrid가 있더라구요..

    > 근데.. DBGrid의 Column이 3개인데...Insert문장에서 Column을 어케가져와서 써주는

    > 지 궁금합니다.

    > 옛날 VB에서는

    > grid.column = 1; grid.row = 1

    > grid.text해서 가져왔던 기억이 있는데...

    >

    > 빠른 답변을 고수님들께 부탁드리면서....

    > 이글을 힘들게 읽어주신 모든분께...행운이 항상 함께하길 바랍니다.

    >

    > 그럼 2만...



    이럴경우는 DataSource로 연결되어진 Query에서 값을 가져와야 합니다.

    아래처럼 해당Query를 바로 사용하셔도 되구요

    Query1.FieldByNameFieldByName('column').AsString

    DBGrid를 연동해서

    DBGrid.DataSource.DataSet.FieldByNameFieldByName('column').AsString

    를 사용해도 됩니다.



    DBGrid_Trans.Fields[0].AsString를 사용하셔도 될 듯... ^^;

  • Profile
    손님 2000.06.20 04:10
    양승원 wrote:

    > 델파이 초봅니다.

    >

    > 1. 화면에 2개의 Editbox가 있고, Where절에서 조건으로 이용됩니다.

    > edit1.text, edit2.text가 query문에 들어가거든요..

    >

    > SELECT * FROM TABLE WHERE field1 = 'edit1.text' And field2 = 'edit2.text'



    select * from table ---> 여기서는 말이져... * <===== (모든것 ^^;)

    원하는 필드를 전부 써주는 습관을 들이세여...

    델파이에서

    With Query명 do

    begin

    Close; // 디비를 닫아주어야 합니다... 먼저...

    Sql.Clear; // Query콤포넌트의 Sql 프로퍼티를 전부 지워줘야죠 ..

    Sql.Add('SELECT * FROM TABLE '); //sql을 날리는 수백가지 방법중

    Sql.Add('WHERE field1 = '''+edit1.text+''' '); //첫번째임다..

    Sql.Add('And field2 ' = '''+edit2.text+''' '); //한줄씩 날립니다..

    Open; //select니까 당근 open ^^;

    end;





    > 형태로 Query문을 작성해야 되는데... 문자열을 표시하는 "'"는 어케 써야 되는지...

    위에서 소스부분을 보세여...

    ' ' 사이는 문자입니다..







    > 2. 이번에는 Insert 문장임다..

    > 델파이에 보니까... DBGrid가 있더라구요..

    dbgrid의 단점.. 1 데이타가 많아지면 절라(?) 느려집니다..

    2 첨에 만들땐 편해보여도,, 나중에 다시고칠라면

    무지 불편합니다...

    3 나중에 디비 수정시 일일이 다고쳐줘야함다..

    그중 1번은 치명적이져...

    함써보세여.. 나중에 후회함다...



    StringGrid를 쓰세여...



    접근은 StringGrid1.Cells[칼럼버노,로우번호] 로 접근함다..

    즉 첫번째 행, 3번째 열은

    StringGrid1.Cells[2,0] // ^^;





    > 근데.. DBGrid의 Column이 3개인데...Insert문장에서 Column을 어케가져와서 써주는

    > 지 궁금합니다.

    > 옛날 VB에서는

    > grid.column = 1; grid.row = 1

    > grid.text해서 가져왔던 기억이 있는데...

    >

    > 빠른 답변을 고수님들께 부탁드리면서....

    > 이글을 힘들게 읽어주신 모든분께...행운이 항상 함께하길 바랍니다.

    >

    > 그럼 2만...