我把数据写入数据库里,用insert语句,可是要写入的太多了,所以一行写不完,可是我换行后,却提示不对,它的连接字符是什么呀?我在线等

解决方案 »

  1.   

    with adoquery1 do
    try
      sql.clear;
      qsl.add('insert into tablename(col1,clo2……coln)');
      sql.add(' values(con1,con2……conn)');
      sql.add('……');
      prepared;
      execsql;except
      on e: dosomething;
    end;
    你可以用sql.add('');
    分多行写写下来。
      

  2.   

    sql语句写的不对吧?不用连接字符的呀。
      

  3.   

    你也可以用"+"来联接或者用concat函数
      

  4.   

    你可以先定义一个临时变量tmpSQL来写入你的SQL语句(可以分行写,用+连起来),等测试准确后再SQL.Add(tmpSQL);
      

  5.   

    sql:='asdfasdfasd'
         +'asdfasdfasdf'
         +'afdsfasdfasdf';
      

  6.   

    也可以直接用sql.text:='sdfsfdfsdfs'+'fddsfsdf"+.....;
    也是一样的,选一样去做吧,都可以的。
      

  7.   

    你是不是同时执行多句sql语句啊,如果多句,每句之间要用分号(;)隔开,有的数据库还不支持多句一起提交,那就要一句一句执行了,希望对你有帮助...
      

  8.   

    with qyery1 do 
    begin
      close;
      sql.clear;
      sql.add('insert into 表名(字段1,字段2,...字段n)');
      sql.add('values( ’:值1,:值2,:...值N ')‘);
      ExecSql;
    end;
      

  9.   

    先定义 一个变量tmp
    把SQL语句全部赋给这个变量
    然后sql.add(tmp);
      

  10.   

    我就是这样的var
    sqlstr:string;
    begin
    sqlstr:=       ' select schollID,schoolname,studentid,studentname';
    sqlstr:=sqlstr+' from student';
    sqlstr:=sqlstr+' where schoolid=51';With Adoquery do
      close;
      sql.clear;
      sql.add(sqlstr);
      open;
    end;......