procedure TForm1.Button1Click(Sender: TObject);
var
str,pp:string;
kk:integer;
begin
pp:='select max(id) from temp_lixz';
kk:=strtoint(pp)+1;
str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES(kk,'''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
adoquery1.SQL.Clear;
adoquery1.SQL.Add(str);
adoquery1.ExecSQL;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from temp_lixz') ;
adoquery1.Close;
adoquery1.Open;
adoquery1.Last;end;
运行没错,怎么不能往数据库假入数据?有什么错?望各位指点

解决方案 »

  1.   

    运行没错?我不信
    pp:='select max(id) from temp_lixz';
    kk:=strtoint(pp)+1;//这个pp能转化成功么?
    还有你的
    str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES(kk,'''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';应该是这样吧?
    str:='INSERT INTO temp_lixz' +'(id,[name] , pass,limit ) VALUES('+kk+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
      

  2.   

    pp:='select max(id) from temp_lixz';你这句并没有放到adoquery去执行查询呀kk:=strtoint(pp)+1;  <--所以这句一点意义都没有
      

  3.   

    str:='INSERT INTO temp_lixz' +'(id,[name] , pass,limit ) VALUES('+inttostr(kk)+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
      

  4.   

    还是不对 id号 
    procedure TForm1.Button1Click(Sender: TObject);
    var
    str,pp:string;
    kk:integer;
    begin
    ADOQuery1.SQL.Add('select max(id) as kk from temp_lixz');
    str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES('+inttostr(kk+1)+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(str);
    adoquery1.ExecSQL;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from temp_lixz') ;
    adoquery1.Close;
    adoquery1.Open;
    adoquery1.Last;end;
      

  5.   

    id是主键    加入成功 但id飙升到4403405
    怎么回事?
      

  6.   

    你这还是没执行呀??改成这样试试procedure TForm1.Button1Click(Sender: TObject);
    var
    str,pp:string;
    kk:integer;
    begin
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.SQL.Add('select max(id) as kk from temp_lixz');
    ADOQuery1.open;
    kk:=ADOQuery1.fieldbyname('kk').value;
    str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES('+inttostr(kk+1)+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(str);
    adoquery1.ExecSQL;
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from temp_lixz') ;
    adoquery1.Close;
    adoquery1.Open;
    adoquery1.Last;end;
      

  7.   

    你这还是没执行呀??改成这样试试procedure TForm1.Button1Click(Sender: TObject);
    var
    str,pp:string;
    kk:integer;
    begin
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.SQL.Add('select max(id) as kk from temp_lixz');
    ADOQuery1.open;
    kk:=ADOQuery1.fieldbyname('kk').value;
    str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES('+inttostr(kk+1)+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(str);
    adoquery1.ExecSQL;
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from temp_lixz') ;
    adoquery1.Close;
    adoquery1.Open;
    adoquery1.Last;end;
      

  8.   

    to mrfanghansheng(☆☆☆木鱼☆☆☆) 
       照你这么改  可以连续假如 但id 从4403405
    开始增加  怎么回事啊
      

  9.   

    我从后台改了数据后,居然不能增加了    包错
       “string or binary date would be truncated"
      

  10.   

    哎……受不了了,最后一答procedure TForm1.Button1Click(Sender: TObject);
    var
    str,pp:string;
    kk:integer;
    begin
    ADOQuery1.close;
    ADOQuery1.sql.clear;
    ADOQuery1.SQL.Add('select max(id) as kk from temp_lixz');
    ADOQuery1.open;
    if ADOQuery1.isempty then
      kk:=1
    else
      kk:=ADOQuery1.fieldbyname('kk').value;
    str:='INSERT INTO temp_lixz' +'(id,name , pass,limit ) VALUES('+inttostr(kk+1)+','''+Edit1.Text+''','''+edit2.Text+''','''+ComboBox1.Text+''')';
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add(str);
    adoquery1.ExecSQL;
    adoquery1.close;
    adoquery1.SQL.Clear;
    adoquery1.SQL.Add('select * from temp_lixz') ;
    adoquery1.Close;
    adoquery1.Open;
    adoquery1.Last;end;