回车应该怎么转义呢?比如我有两句select 语句
select 1 from POSTLIST;
select 2 from POSTLIST
执行可以返回2个表
但是
select 1 from POSTLIST;select 2 from POSTLIST
就会出错,在c#中发送sql语句的时候应该如何转义?

解决方案 »

  1.   

    select 1 from POSTLIST;\nselect 2 from POSTLIST
      

  2.   

    用 go 换行,,
    LZ看看这吧
    http://www.cnblogs.com/Snowfun/archive/2010/09/27/1836400.html
      

  3.   

    太深奥,看不懂,那不过是创建表的一些语句吧..而且还是 mssql的...在oracle底下好象不太好用啊。
    2楼,你\n的问题似乎不能解决问题哦.
      

  4.   

    select 1 from POSTLIST;char(10)||char(13) select 2 from POSTLIST
    这样试一下
      

  5.   


    上面错了,
    select 1 from POSTLIST;chr(10)||chr(13) select 2 from POSTLIST
      

  6.   

    你可以把语句分开,添加到一个arraylist里,在遍历arraylist分别执行,最后一起提交。
      

  7.   

    select 1 from POSTLIST;chr(10)||chr(13) select 2 from POSTLIST这么写不行,我试过了.你可以把语句分开,添加到一个arraylist里,在遍历arraylist分别执行,最后一起提交。我现在就是分两次提交,也就是读两次数据库,但是我对这种处理方式总觉得不好,最好能1次提交,也算是向高手们学习下.
      

  8.   

       /// <summary>
            /// 一次性执行多条语句
            /// </summary>
            /// <param name="sqlComms">语句的集合</param>
            /// <returns>true :成功</returns>
            public bool ExecuteMultipleCmd(List<string> sqlComms)
            {
                Command cmd = this.CreateCommand("", CommandType.Text, null);            this.OpenConnection();            bool flag = false;
                int row = 0;            IDbTransaction tran = conn.BeginTransaction();
                cmd.Transaction = tran;            try
                {
                    for (int index = 0; index < sqlComms.Count; index++)
                    {
                        cmd.CommandText = sqlComms[index];                    row += cmd.ExecuteNonQuery();
                    }                tran.Commit();
                    flag = true;
                }
                catch (Exception exp)
                {
                    tran.Rollback();                throw exp;
                }
                finally
                {
                    this.CloseConnection();
                }            //return ((row == sqlComms.Count) ? true : false);            return flag;
            }