zoukankan      html  css  js  c++  java
  • 执行SQL语句脚本文件

           在项目中关于执行SQL语句的底层方法的通用类很多,但是很少有提供执行SQL脚本的的方法,曾经在项目中有功能需要能直接执行SQL脚本的方法,

    经过项目的实践检验,方法比较实用,现在将代码贴出来给大家分享下:

    /// <summary>
            /// 执行SQL语句脚本文件(带注释,带Go)
            /// </summary>
            /// <param name="sqlFileName">sql脚本文件路径</param>
            public static int ExecuteSQLFile(String sqlFileName)
            {
                int icount = 0;
                using (SqlConnection connecction = new SqlConnection(connectionString))
                {
                FileStream stream = new FileStream(sqlFileName, FileMode.Open);
                StreamReader reader = new StreamReader(stream, Encoding.GetEncoding("gb2312"));
                    try
                    {
                        SqlCommand command = connecction.CreateCommand();
                        connecction.Open();
                        //读取文件
                       
                        StringBuilder builder = new StringBuilder();
                        String strLine = "";
                        while ((strLine = reader.ReadLine()) != null)
                        {
                            if (strLine.Trim().ToUpper() != @"GO")
                            {
                                builder.AppendLine(strLine);
                            }
                            else
                            {
                                command.CommandText = builder.ToString();
                                icount = command.ExecuteNonQuery();
                                builder.Remove(0, builder.Length);
                            }
                        }
                        command.CommandText = builder.ToString();
                        icount = command.ExecuteNonQuery();
                        builder.Remove(0, builder.Length);
                        reader.Close();
                        stream.Close();
                        return icount;
                    }
                    catch
                    {
                        reader.Close();
                        stream.Close();
                        icount = 0;
                        return icount;
                    }
                }
            }

  • 相关阅读:
    终于在园子里安家了
    Ajax简单应用,检测用户名是否存在 (转)
    ASP.NET 2.0防止同一用户同时登陆方法一(转)
    .NET:七道asp.net页面传值题(转)
    蛙蛙推荐:SQLServer优化资料整理(转)
    我说看起来怎么这么眼熟
    ASP.NET 2.0防止同一用户同时登陆方法二(转)
    Javascirpt Function 不能命名为reset
    关于Jquery ajax调用一般处理程序Handler报500 错误(Internal Server Error)解决办法
    智能匹配
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2186443.html
Copyright © 2011-2022 走看看