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

  • 相关阅读:
    Thrift官方安装手冊(译)
    从用python做zoj1011发生Non-zero Exit Code错误说起
    POJ 1637 Sightseeing tour(最大流)
    js中substr与substring的差别
    白话经典算法系列之七 堆与堆排序
    在基于阿里云serverCentOS6.5下安装Subversion 1.6.5服务
    Android研究之手PullToRefresh(ListView GridView 下拉刷新)使用具体解释
    java中获取系统属性以及环境变量
    sql中 in 、not in 、exists、not exists 使用方法和区别
    80x86汇编小站站长简单介绍-2014年08月23日
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2186443.html
Copyright © 2011-2022 走看看