s:='hello';
query.close;
query1.sql.add('insert into ddd (aaa) values (:s)');
query1.parameters.parambyname("s").Value := s;
query1.execsql;

解决方案 »

  1.   

    s:='hello';
    query.close;
    query.sql.clear;
    query1.sql.add('insert into ddd (aaa) values (:s)');
    query1.parameters.parambyname("s").Value := s;
    query1.prepare;
    query1.execsql;
    :s不是变量,是sql中的参数,要用
    query1.parameters.parambyname("s").Value := s;把变量给参数复制!
      

  2.   

    s:='hello';                     两个s是有区别的,这个是字符变量
    query.close;
    query1.sql.add('insert into ddd (aaa) values (:s)');这个是参数
    query1.parameters.parambyname("s").Value := s;
    query1.execsql;
      

  3.   

    with query do
      begin
      close;
      sql.clear;
      sql.add('insert into ddd values(:s)')
      parambyname('t1').asstring:=s;
      execsql;
      end;
      

  4.   

    也可以直接往sql里面添加变量
    s:='hello';                     
    with query do
    begin
      close;
      sql.clear;
      sql.add('insert into ddd values('''+s+''')') //此处s就是你的变量
      execsql;
    end;
      

  5.   

    s:='hello';
    query.close;
    query1.sql.add('insert into ddd (aaa) values (:aaa)');
    query1.parameters.parambyname("aaa").asstring := s;
    query1.execsql;
      

  6.   

    s:='hello';
    query.close;
    query1.sql.add(format('insert into ddd (aaa) values (''%s'')',[s]));
    query1.execsql;