例子
--------------------------------------------------
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";
--------------------------------------------------
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";
然后使用String.Spilt方法得到。
如果像你举的例子那样,没有任何特殊字符进行分割,那么是很难分解的。
如果sql语句没有含有子查询的话,还可以按照关键字去分解,例如select, insert, update,delete去分解;但是如果含有子查询,或者更复杂的sql语句,你只有用sql规则去做parse。
"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]);
}
那查询分析器如何做呢?有特殊符号我问来干什么?