C#创建数据库及导入sql脚本的方法
发布时间:2020-12-15 03:48:17 所属栏目:百科 来源:网络整理
导读:本篇章节讲解C#创建数据库及导入sql脚本的方法。供大家参考研究具体如下: C#创建数据库: /// summary/// 创建数据库/// /summary/// param name="connStr"连接字符串/param/// param name="_strDBName"数据库名称/param/// returns/returnspriva
本篇章节讲解C#创建数据库及导入sql脚本的方法。分享给大家供大家参考,具体如下: C#创建数据库: /// <summary> /// 创建数据库 /// </summary> /// <param name="connStr">连接字符串</param> /// <param name="_strDBName">数据库名称</param> /// <returns></returns> private static bool CreateDatabase(string connStr,string _strDBName) { bool bSuccess = false; try { using (SqlConnection conMaster = new SqlConnection(connStr)) { conMaster.Open(); // Check if the Database has existed first string strExist = @"select * from dbo.sysdatabases where name='" + _strDBName + @"'"; SqlCommand cmdExist = new SqlCommand(strExist,conMaster); SqlDataReader readerExist = cmdExist.ExecuteReader(); bool bExist = readerExist.HasRows; readerExist.Close(); if (bExist) { string strDel = @"drop database " + _strDBName; SqlCommand cmdDel = new SqlCommand(strDel,conMaster); cmdDel.ExecuteNonQuery(); } // Create the database now; string strDatabase = "Create Database [" + _strDBName + "]"; SqlCommand cmdCreate = new SqlCommand(strDatabase,conMaster); cmdCreate.ExecuteNonQuery(); conMaster.Close(); } bSuccess = true; } catch (Exception e) { throw e; } return bSuccess; } C#导入sql脚本: /// <summary> /// 导入sql脚本 /// </summary> /// <param name="sqlConnString">连接数据库字符串</param> /// <param name="varFileName">脚本路径</param> /// <returns></returns> private static bool ExecuteSqlFile(string sqlConnString,string varFileName) { if (!File.Exists(varFileName)) { return false; } StreamReader rs = new StreamReader(varFileName,System.Text.Encoding.Default); ArrayList alSql = new ArrayList(); string commandText = ""; string varLine = ""; while (rs.Peek() > -1) { varLine = rs.ReadLine(); if (varLine == "") { continue; } if (varLine != "GO") { commandText += varLine; commandText += "rn"; } else { commandText += ""; } } alSql.Add(commandText); rs.Close(); try { ExecuteCommand(sqlConnString,alSql); return true; } catch (Exception ex) { throw ex; } } private static void ExecuteCommand(string sqlConnString,ArrayList varSqlList) { using (SqlConnection conn = new SqlConnection(sqlConnString)) { conn.Open(); //Don't use Transaction,because some commands cannot execute in one Transaction. //SqlTransaction varTrans = conn.BeginTransaction(); SqlCommand command = new SqlCommand(); command.Connection = conn; //command.Transaction = varTrans; try { foreach (string varcommandText in varSqlList) { command.CommandText = varcommandText; command.ExecuteNonQuery(); } //varTrans.Commit(); } catch (Exception ex) { //varTrans.Rollback(); throw ex; } finally { conn.Close(); } } } 希望本文所述对大家C#程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |