zoukankan      html  css  js  c++  java
  • C#读取*.sql文件,并执行里面的SQL语句 no

    思路:先读取文件,以GO为段落,把每一个GO的段落当做一条SQL命令,在通过事务一起执行。
    public static ArrayList GetSqlFile(string varFileName, string dbname)
    {
    ArrayList alSql
    = new ArrayList();
    if (!File.Exists(varFileName))
    {
    return alSql;
    }
    StreamReader rs
    = new StreamReader(varFileName, System.Text.Encoding.Default);//注意编码
    string commandText = "";
    string varLine = "";
    while (rs.Peek() > -1)
    {
    varLine
    = rs.ReadLine();
    if (varLine == "")
    {
    continue;
    }
    if (varLine != "GO" && varLine != "go")
    {
    commandText
    += varLine;
    commandText
    = commandText.Replace("@database_name=N'dbhr'", string.Format("@database_name=N'{0}'", dbname));
    commandText
    += "\r\n";
    }
    else
    {
    alSql.Add(commandText);
    commandText
    = "";
    }
    }

    rs.Close();
    return alSql;
    }

    public static void ExecuteCommand(ArrayList varSqlList, string connString)
    {

    SqlConnection MyConnection
    = new SqlConnection(connString);
    MyConnection.Open();
    SqlTransaction varTrans
    = MyConnection.BeginTransaction();
    SqlCommand command
    = new SqlCommand();
    command.Connection
    = MyConnection;
    command.Transaction
    = varTrans;
    try
    {
    foreach (string varcommandText in varSqlList)
    {
    command.CommandText
    = varcommandText;
    command.ExecuteNonQuery();
    }
    varTrans.Commit();
    }
    catch (Exception ex)
    {
    varTrans.Rollback();
    throw ex;
    }
    finally
    {
    MyConnection.Close();
    }
    }
  • 相关阅读:
    20150316--TP-01
    20150314--TP-02
    20150314--TP-01
    20150313+微信-全
    表单/iframe与video标签
    图像/超链接标签
    HTML列表与表格
    JAVA新的一天
    MySQL常用函数
    php基础--来自网页转载
  • 原文地址:https://www.cnblogs.com/252e/p/1962400.html
Copyright © 2011-2022 走看看