• C# 执行SQL脚本文件


    代码
    public static int ExecuteSqlScript(string sqlFile)
    {
        
    int returnValue = -1;
        
    int sqlCount = 0, errorCount = 0;
        
    if (!File.Exists(sqlFile))
        {
            Log.WriteLog(
    string.Format("sql file not exists!", sqlFile));
            
    return -1;
        }
        
    using (StreamReader sr = new StreamReader(sqlFile))
        {
            
    string line = string.Empty;
            
    char spaceChar = ' ';
            
    string newLIne = "\r\n", semicolon = ";";
            
    string sprit = "/", whiffletree = "-";               
            
    string sql = string.Empty;
            
    do
            {
                line 
    = sr.ReadLine();
                
    // 文件结束
                if (line == nullbreak;
                
    // 跳过注释行
                if (line.StartsWith(sprit) || line.StartsWith(whiffletree)) continue;
                
    // 去除右边空格
                line = line.TrimEnd(spaceChar);
                sql 
    += line;
                
    // 以分号(;)结尾,则执行SQL
                if (sql.EndsWith(semicolon))
                {
                    
    try
                    {
                        sqlCount
    ++;
                        SqlHelper.ExecuteNonQuery(sql, 
    null);
                    }
                    
    catch (Exception ex)
                    {
                        errorCount
    ++;
                        Log.WriteLog(sql 
    +  newLIne + ex.Message);  
                    }                        
                    sql 
    = string.Empty;
                }
                
    else
                {
                    
    // 添加换行符
                    if(sql.Length > 0) sql += newLIne;
                }
            } 
    while (true);
        }
        
    if (sqlCount > 0 && errorCount == 0)
            returnValue 
    = 1;
        
    if (sqlCount == 0 && errorCount == 0)
            returnValue 
    = 0;
        
    else if (sqlCount > errorCount && errorCount > 0)
            returnValue 
    = -1;
        
    else if (sqlCount == errorCount)
            returnValue 
    = -2;
        
    return returnValue;
    }
  • 相关阅读:
    Python小白学习之路(五)—【类和对象】【列表】【列表相关功能】
    Python小白学习之路(四)——第一次练习题
    Python小白学习之路(三)—【数字功能】【字符串功能】
    Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】
    Python初体验(一)—【配置环境变量】【变量】【input】【条件语句】【循环语句】
    HTML下直接调用Less文件
    继承的几种方式
    sublime从官网纯净版到插件完整版
    bower工具的简单使用
    sublime修改代码字体颜色
  • 原文地址:https://www.cnblogs.com/anjou/p/1796563.html
Copyright © 2020-2023  润新知