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;
                    }
                }
            }

  • 相关阅读:
    java编程之:按位与运算,等运算规则
    深入理解OkHttp源码(三)——网络操作
    深入理解OkHttp源码(二)——获取响应
    深入理解OkHttp源码(一)——提交请求
    synchronized与static synchronized 的区别
    疑惑的 java.lang.AbstractMethodError: org.mybatis.spring.transaction.SpringManagedTransaction.getTimeout()L
    Spring MVC Rest服务 返回json报406错误的解决办法
    常用的几个PHP加密函数
    YII关联字段并带搜索排序功能
    linux中编译安装Apache、PHP、MySQL(上)
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2186443.html
Copyright © 2011-2022 走看看