时间:2021-05-20
本文实例讲述了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 += "\r\n"; } 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#程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
之前有群友反应同事给了他一个几百MB的sql脚本,导入数据库再从数据库读取数据有点慢,想了解下有没有可以直接读取sql脚本到pandas的方法。解析sql脚本文
本文实例讲述了C#创建数据库及附加数据库的操作方法。分享给大家供大家参考,具体如下://////附加数据库方法//////连接数据库字符串,连接master系统
本文实例讲述了C#实现Excel表数据导入SqlServer数据库中的方法。分享给大家供大家参考,具体如下:Excel表数据导入SqlServer数据库的方法很
PowerDesigner连接数据库的实例详解PowerDesigner连接数据库大致如下列图所示:选择需要连接的数据库类型:有两个选择,一、导入Sql脚本文件
Linux下均在控制台下操作。导入数据库:前提:数据库和数据表要存在(已经被创建)(1)将数据表test_user.sql导入到test数据库的test_use