我在sql中建立一张表,想从delphi中输入信息到sql表中,表有3列客户姓名,身份证号,房间号,delphi中也是响应的这3个,后面跟edit1,edit2,edit3,外加一个button,到时候用做确定保存键,请问我这个button的代码怎么写?
 with   adoquery1   do
  begin
           close;
          Sql.Clear;
          sql.Add('insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')')
这个是我写的,大家看看,怎么弄才好,还有kehuruzhudengji是表名,谢谢大家~

解决方案 »

  1.   

    sql.add() 后面少个 ;
    最后在加一句 Execute;
      

  2.   

    不行啊,输入了数据sql表中没有增加啊,怎么回事啊?输入后按button就像没按一样。没有反应。
    procedure TForm6.Button1Click(Sender: TObject);
    begin
    if Edit1.Text='' then
            ShowMessage('无输入,请输入查询要求!')
    else
          with   adoquery1   do
      begin
               close;
              Sql.Clear;
              sql.Add('insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')');
    end;
    end;
      

  3.   


    procedure TForm6.Button1Click(Sender: TObject);
    begin
    if Edit1.Text='' then
    ShowMessage('无输入,请输入查询要求!')
    else
    with adoquery1 do
    begin
    close;
    Sql.Clear;
    sql.Add('insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values('''+edit1.Text+''','''+edit2.Text+''','''+edit3.Text+''')');
    ExecSQL;
    end;
    end;加上去看看行不行
      

  4.   

    procedure TForm6.Button1Click(Sender: TObject);
    begin
    if Edit1.Text='' then
    ShowMessage('无输入,请输入查询要求!')
    else
    with adoquery1 do
    begin
    close;
    Sql.Clear;
    sql.Add('insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values('''+edit1.Text+''','''+edit2.Text +''','''+edit3.Text+''')');
    end;
    execute;
    end;
      

  5.   

    不好意思,上面写错了
    procedure TForm6.Button1Click(Sender: TObject);
    begin
    if Edit1.Text='' then
    ShowMessage('无输入,请输入查询要求!')
    else
    with adoquery1 do
    begin
    close;
    Sql.Clear;
    sql.Add('insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values('''+edit1.Text+''','''+edit2.Text +''','''+edit3.Text+''')');
    execute;
    end;
    end;
      

  6.   

    procedure TForm6.Button1Click(Sender: TObject);
      var 
       csql:string;
    begin
       csql:='insert into  kehuruzhudengji(已住客户姓名,身份证号,房间号)Values( ;
       csql:=csql +  quotedStr(edit1.text) + ',' + quotedStr(Edit2.text)+ ',' + quotedStr(edit3.text)+ ')';if Edit1.Text='' then
    ShowMessage('无输入,请输入查询要求!')
    else
    with adoquery1 do
    begin
    close;
    Sql.Clear;
    sql.Add(csql);
    exeSQL;
    end;
    end;
      

  7.   

    csql:='insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values( ;  
    写少了一个引号
    csql:='insert into kehuruzhudengji(已住客户姓名,身份证号,房间号)Values( ';
      

  8.   

    exeSQL;这句不能少啊,没执行SQL怎么会保存进来的
      

  9.   

    楼主估计一开始是OPEN来着。。
      

  10.   

    建议用3个DbEdit,直接query.append,然后再auery.post就可以了。
      

  11.   

    ExecSQL,要执行才能保存的。