SQL语句多了,用SQL.ADD();实在是麻烦,还要逐个修改引号,有没有什么方法简便一点的??

解决方案 »

  1.   

    语句仍然要写在程序里,不能外部调用文件导入,我用的是ADOQuery
      

  2.   

    如果有现成的Text在  ListBox1或在
      Memo1中可以用这种方法啊:SQL.assign(ListBox1.Items)或SQL.assign(Memo1.Lines)
      

  3.   

    也可以读取外面的.Txt,或.ini文件,然后把内容付给ADOQuery.sql.text
      

  4.   

    我觉得麻烦的地方是那些引号啊,如果SQL语句里用到了引号的话(select * from table1 where name='abc'),添加到程序里就要变成SQL.ADD('select * from table1 where name='+'''abc''')用Memo也一样啊,都要加上引号
      

  5.   

    过程函数??
    你指的是存储过程吗?还是就delphi里的普通过程
      

  6.   

    str[1]:='select * from pig where name=布什'
    str[2]:='select * from sexpig where name=克林顿'
    str[3]:='delete pig where name=小泉纯一郎'
    str[4]:='insert into SuperFoolishPig(name,sex) values(小泉纯一郎,n/a)'for i:=1 to 4 do
     begin
     adoquery1.close;
     adoquery1.sql.clear;
     adoquery1.sql.add(str[i]);
     try
      adoquery1.open
     except
      adoquery1.execsql
     end;
     end;
      

  7.   

    对有参数的sql,就麻烦了,用三维不定长数组,
    如str[1][1] sql 语句
      str[1][2][1] 参数名一 str[1][2][2] 参数名二
      _HWND[1][3][1] 参数一所在控件句槟一 str[1][3][2] 参数一所在控件句槟一
       ^ <-忘了怎么拼了。
      

  8.   

    只有add('')语句了,你可以分开多行写嘛。
    adosql1.sql.add('aaaaaaaaaaaaaaaaaaaaaaa');
    adosql1.sql.add('bbbbbbbbbbbbbbbbbbbbbbb');
    ........................try
      adosql1.sql.open;
    except
      showmessage('xx');
    end;  
      

  9.   

    要处理引号,可用QuotedStr函数;
    如:
    ADOQuery1.SQL.Text := QuotedStr(你的串);
      

  10.   

    to 回复人: kuki84() ( ) 信誉:57 
    汗你这样添加进去可以行吗?引号不对的吧,添加后SQL内执行语句是name=布什而不是name='布什'。
    str[1]:='select * from pig where name=布什'
    str[2]:='select * from sexpig where name=克林顿'
    str[3]:='delete pig where name=小泉纯一郎'
    str[4]:='insert into SuperFoolishPig(name,sex) values(小泉纯一郎,n/a)'for i:=1 to 4 do
     begin
     adoquery1.close;
     adoquery1.sql.clear;
     adoquery1.sql.add(str[i]);
     try
      adoquery1.open
     except
      adoquery1.execsql
     end;
     end;to 回复人: luxuinstan(小强) ( ) 信誉:86 
    汗,,要是你那样,我也不会来提问了。要是有上百条让你ADD,你还会这样去1条1条添吗?
    to  回复人: iamdream(梦无止境) ( ) 信誉:100 
    你说的我也知道,只是。怎么说呢,还是嫌有点麻烦