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

  • 相关阅读:
    学习优化:训练深度神经网络进行无线资源管理
    (经典文章uplink)Information capacity and power control in single-cell multiuser communications(1995)
    Python运行出错
    2019之VLC3.071版本Ubuntu 18-win32-64为编译经验记录
    Ansys-CHEMKIN-pro表面反应机制输入(Surface Kinetics Input)规则
    tomcat9配置https
    tomcat和iis共用80端口的简明手册
    ANSYS经典APDL编程
    在ANSYS WORKBENCH中使用APDL命令的例子
    现代工程仿真CAE技术介绍
  • 原文地址:https://www.cnblogs.com/kevinGao/p/2186443.html
Copyright © 2011-2022 走看看