Q&A

  • insert
procedure

var

flist : string;

begin

for k:=0 to filelistbox1.Items.Count -1 do

begin



flist := filelistbox1.Items[k];

query2.close;

query2.sql.clear;

query2.sql.Add('insert into data_table');

query2.sql.Add('values(:a_id, :a_name)');

query2.parambyname('a_id').AsInteger := g_gid; //g_gid는 integer

query2.ParamByName('a_name').AsString := flist;

query2.ExecSQL;

end;

end;



이렇게 insert를 했는데 값이 들어가질 않아요

자꾸 에러가 나서리... 조언부탁합니다.



4  COMMENTS
  • Profile
    프지초보 2000.12.20 12:25
    delhpilove wrote:

    > procedure

    > var

    > flist : string;

    > begin

    > for k:=0 to filelistbox1.Items.Count -1 do

    > begin

    >





    > flist := filelistbox1.Items[k];

    > query2.close;

    > query2.sql.clear;

    > query2.sql.Add('insert into data_table');

    > query2.sql.Add('values(:a_id, :a_name)');

    > query2.parambyname('a_id').AsInteger := g_gid; //g_gid는 integer

    > query2.ParamByName('a_name').AsString := flist;

    > query2.ExecSQL;

    > end;

    > end;

    >

    > 이렇게 insert를 했는데 값이 들어가질 않아요

    > 자꾸 에러가 나서리... 조언부탁합니다.

    >



    저두 초보라 잘 모르는데요.. 그냥 참고 하시죠..

    > flist := filelistbox1.Items[k];// 이부분에서 string 값이 들어가는지요??

    저는 이렇게 했거든요

    flist := FileListBox1.Items.String[k];

    그리고 깔끔하게 with 문 사용하시고요.. 이러다 틀리면 쪽인데..

    with Query1 do

    참 그리고 insert 할때(테이블 필드명을 써주는 것이 나중을 위해서 좋다고 하더군요.

    지금은 두개지
  • Profile
    이성훈 2000.12.20 04:42
    에러메세지가 어떻게 나지요...

    일단 구문에는 에러가 없는데....





    delhpilove wrote:

    > procedure

    > var

    > flist : string;

    > begin

    > for k:=0 to filelistbox1.Items.Count -1 do

    > begin

    >

    > flist := filelistbox1.Items[k];

    > query2.close;

    > query2.sql.clear;

    > query2.sql.Add('insert into data_table');

    > query2.sql.Add('values(:a_id, :a_name)');

    > query2.parambyname('a_id').AsInteger := g_gid; //g_gid는 integer

    > query2.ParamByName('a_name').AsString := flist;

    > query2.ExecSQL;

    > end;

    > end;

    >

    > 이렇게 insert를 했는데 값이 들어가질 않아요

    > 자꾸 에러가 나서리... 조언부탁합니다.

    >

  • Profile
    delhpilove 2000.12.20 05:08
    이성훈 wrote:

    > 에러메세지가 어떻게 나지요...

    > 일단 구문에는 에러가 없는데....

    >

    >

    > delhpilove wrote:

    > > procedure

    > > var

    > > flist : string;

    > > begin

    > > for k:=0 to filelistbox1.Items.Count -1 do

    > > begin

    > >

    > > flist := filelistbox1.Items[k];

    > > query2.close;

    > > query2.sql.clear;

    > > query2.sql.Add('insert into data_table');

    > > query2.sql.Add('values(:a_id, :a_name)');

    > > query2.parambyname('a_id').AsInteger := g_gid; //g_gid는 integer

    > > query2.ParamByName('a_name').AsString := flist;

    > > query2.ExecSQL;

    > > end;

    > > end;

    > >

    > > 이렇게 insert를 했는데 값이 들어가질 않아요

    > > 자꾸 에러가 나서리... 조언부탁합니다.

    > >



    여기에 valvues가 하나 빠지거든요 f_id 형이 +형의로

    자동중가 하는

    에러문은 invalid paraneter

    이네요...

    좋은 설명 부탁합니다..

  • Profile
    왕초보..... 2000.12.20 05:24
    저두 잘 모르지만 제 예상에.....

    틀리더라도 이해바랍니다

    query2.sql.Add('insert into data_table');

    다음에 바로

    query2.sql.Add('values(:a_id, :a_name)');

    하시더라구요

    data_table 의 테이블에 id,name 이외의 항목들이 더있다면.....

    호스트 변수를 지정하셨는데 그호스트 변수가 들어갈 필드를 지정 안 하셔서 그렀지 않나요?

    그러니까

    query2.sql.Add('insert into data_table');

    query2.sql.Add('(id , name) ');

    query2.sql.Add('values(:a_id, :a_name)');

    요렇게요.....

    아닌가 ????

    저두 잘 몰라서........

    도움이 되면 좋구요 안돼면 죄송합니다