str:='insert into s(水总指数)  Values (:s)'
.....
Close;
SQL.Clear;
SQL.Add(str)
Paramters.parambyname('s').value:=strToint(edit.text);
.......

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var    str : string;
             i: integer;
    begin
      if Trim(Edit1.Text) <>'' then
      begin
     str:='insert into s(水总指数)  Values to_char('+i+')';
         with ado do
         begin
         i:=strtoint(edit1.Text);
         close;
        SQL.Clear;
        SQL.Add(format(str,[i]));
        prepared;
        ExecSQL;
      end;
    end;
      

  2.   

    大哥,这句话不能通过编译
    说Paramters是未经申报的标识符
      

  3.   

    3yugui(亿硅):还是不行与我原来的一样,编译完运行就要报错
    ‘access voilation at adress 1F487CAB in module 'MSADO15'.Write of
    adress 01258018'
    确定后就非法操作,紧接着死机~
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var    str : string;
             i: integer;
    begin
      if Trim(Edit1.Text) <>'' then
      begin
     str:='insert into s(水总指数)  Values (%d)';
         with ado do
         begin
         i:=strtoint(edit1.Text);
         close;
        SQL.Clear;
        SQL.Add(format(str,[i]));
        prepared;
        ExecSQL;
      end;
    end;
      

  5.   

    这样。
     if Trim(Edit1.Text) <>'' then
      begin
     str:='insert into s(水总指数)  Values (''%s'')';
         with ado do
         begin
              close;
        SQL.Clear;
        SQL.Add(format(str,[edit1.text]));
        prepared;
    try
        ExecSQL;
    except 
     showmessage("error");
    end;