能否在下面这条语句的某个地方按回车符,即把一条语句分成两行(语句本身是正确的):T_WordMode 为表名;ModeName,Dept为字段名;SelectTest,strDept为变量;
sql.Add('delete from T_WordMode where (ModeName=''+SelectTest+'') and (Dept=''+strDept+'')');

解决方案 »

  1.   

    sql.Add('delete from T_WordMode);
    sql.add(where (ModeName=''+SelectTest+'') and (Dept=''+strDept+'')');
      

  2.   

    或者
    var
     QueStr: string;
    begin
      QueStr := 'delete from T_WordMode'
      QueStr := QueStr + where (ModeName=''+SelectTest+'') and (Dept=''+strDept+'')'
      with query do
      begin
        close;
        sql.clear;
        sql.text := QueStr;
        try
          execsql;
        except
          showmessage('错误')
        end;
      end; 
    end;
      

  3.   

    方法是多种多样的
    你可以设一个临时字符串变量,分行赋值
    也可以在不破坏结构的情况下回车,就是不破坏独立的字符串和分隔符号,随便换行
    还可以把sql字符串分离累加进来,sql.add(str1),sql.add(strl2)
    怎么都行,这都不算是问题啊。。
      

  4.   

    sql.Add( 'delete from T_WordMode where (ModeName='  );
    sql.add( ''''+selectTest+''''+') and (Dept='+''''+strdept+''''+')'  );
      

  5.   

    一个例子
      ADOConnection1.ConnectionString :=
        'Provider=SQLOLEDB.1;Persist Security Info=false'
        + ';User ID=' + user_name
        + ';Initial Catalog=' + DBName
        + ';Data Source='+ser_ip
        + ';Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096'
        + ';Workstation ID='+localip
        + ';Use Encryption for Data=False'
        + ';Tag with column collation when possible=False';
        datamodule2.NMFTP1.Host:=ftp_ip;
      try
        ADOConnection1.Open;