例子
--------------------------------------------------
string sSqls = "select * from abc" +
               "insert into abc values(a1,b2,c3)" +
               "delete from abc where a1=1";分割为string sSqls[] = new string[3];
sSqls[0] = "select * from abc";
sSqls[1] = "insert into abc values(a1,b2,c3)";
sSqls[2] = "delete from abc where a1=1";

解决方案 »

  1.   

    应该可以在语句的结尾都加上';'
    然后使用String.Spilt方法得到。
      

  2.   

    如果不是有特殊字符做分割,只有自己去按照sql规则去parse了。
      

  3.   

    to 有没人懂?不是有没有人懂得问题,是你提的问题就不清楚;
    如果像你举的例子那样,没有任何特殊字符进行分割,那么是很难分解的。
    如果sql语句没有含有子查询的话,还可以按照关键字去分解,例如select, insert, update,delete去分解;但是如果含有子查询,或者更复杂的sql语句,你只有用sql规则去做parse。
      

  4.   

    string sSqls = "select * from abc;" +
                    "insert into abc values(a1,b2,c3);" +
                    "delete from abc where a1=1;";
            
            string[] sql = sSqls.Split(Convert.ToChar(";"));
            for (int i = 0; i < sql.Length; i++)
            {
                Response.Write(sql[i]);
            }
      

  5.   

    to Knight94:
    那查询分析器如何做呢?有特殊符号我问来干什么?
      

  6.   

    to 那查询分析器如何做呢?有特殊符号我问来干什么?如果想要做出查询分析器那种功能的,可不是一小段代码能实现的,你相当于做一个语法分析器,去解析sql语句,即按照sql规则去解析。
      

  7.   

    还是应该按SQL的关键字去进行分割,然后对每个分割后的字符串做一下替换处理,替换掉一下特殊字符,确保组合在一起执行的时候不会出错
      

  8.   

    to T_98Dsky(朝辉)   写的很明确了