我要向数据库表中加入数据? 怎么这段代码运行没错,确不能加入啦。
procedure TForm1.Button1Click(Sender: TObject);
begin
adoquery1.SQL.Clear;
adoquery1.SQL.Add('INSERT INTO temp_lixz');
adoquery1.SQL.Add('(name , pass,limit ) VALUES(' );
adoquery1.SQL.Add(''''+Edit1.Text+'''');
adoquery1.SQL.Add(''''+edit2.Text+'''');
adoquery1.SQL.Add(''''+edit3.Text+'''');
adoquery1.ExecSQL;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from temp_lixz') ;
adoquery1.Close;
adoquery1.Open;
adoquery1.Last;

解决方案 »

  1.   

    adoquery1.SQL.Add('INSERT INTO temp_lixz');
    adoquery1.SQL.Add('(name , pass,limit ) VALUES(' );
    adoquery1.SQL.Add(''''+Edit1.Text+'''');
    adoquery1.SQL.Add(''''+edit2.Text+'''');
    adoquery1.SQL.Add(''''+edit3.Text+'''');
    这段话这么加,然后的Insert语句正确吗,设个断点看看,有可能,两个词连在了一起。
    添加记录不一定用这种方法
    adoquery1.append;
    adoquery1.fieldbyname("字段名").asstring:="value";
    adoquery1.post;
      

  2.   

    SQL 少了一个 ")"在这一句
    adoquery1.SQL.Add(''''+edit3.Text+'''');的下面加一句
    SHOWMESSAGE()
    你会发现问题的
      

  3.   

    看看你的ADOQuery1.LockType是否为ltBatchOptimistic
      

  4.   

    少了一个 ')' 和 两个逗号 在Edit1.Text ,Edit2.Text后面
    现在应该没有问题了。adoquery1.SQL.Clear;
    adoquery1.SQL.Add('INSERT INTO temp_lixz');
    adoquery1.SQL.Add('(name , pass,limit ) VALUES(' );
    adoquery1.SQL.Add(''''+Edit1.Text+''',');
    adoquery1.SQL.Add(''''+edit2.Text+''',');
    adoquery1.SQL.Add(''''+edit3.Text+'''');
    adoquery1.SQL.Add(')');
    adoquery1.ExecSQL;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from temp_lixz') ;
    adoquery1.Close;
    adoquery1.Open;
    adoquery1.Last;
      

  5.   

    对,在doquery1.SQL.Add(''''+edit3.Text+'''') 加上
    adoquery1.SQL.Add(')');
      

  6.   

    我根据你的情况试了一下 你可以试试在adoquery1.ExecSQL;前加一条open;语句
      

  7.   

    上条作废
    我根据你的情况试了一下 你可以试试在adoquery1.ExecSQL;后的adoquery1.SQL.Clear;语句
    去掉 adoquery1应该先打开然后关闭 而你还没打开就关闭了 然后打开就无法关闭了