国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

C#創建數據庫及附加數據庫的操作方法

2019-10-29 21:25:28
字體:
來源:轉載
供稿:網友

本文實例講述了C#創建數據庫及附加數據庫的操作方法。分享給大家供大家參考,具體如下:

/// <summary>/// 附加數據庫方法/// </summary>/// <param name="strSql">連接數據庫字符串,連接master系統數據庫</param>/// <param name="DataName">數據庫名字</param>/// <param name="strMdf">數據庫文件MDF的路徑</param>/// <param name="strLdf">數據庫文件LDF的路徑</param>/// <param name="path">安裝目錄</param>private  void CreateDataBase( string strSql, string DataName, string strMdf, string strLdf, string path){  SqlConnection myConn = new SqlConnection(strSql);  String str = null ;  try  {   str = " EXEC sp_attach_db @dbname='"+DataName+"',@filename1='"+strMdf+"',@filename2='"+strLdf+"'";   SqlCommand myCommand = new SqlCommand(str, myConn);   myConn.Open();   myCommand.ExecuteNonQuery();   MessageBox.Show("數據庫安裝成功!點擊確定繼續");//需Using System.Windows.Forms  }  catch(Exception e)  {   MessageBox.Show("數據庫安裝失敗!" + e.Message+"/n/n"+"您可以手動附加數據");   System.Diagnostics.Process.Start(path);//打開安裝目錄  }  finally  {   myConn.Close();  }}public override void Install(System.Collections.IDictionary stateSaver){  string server = this.Context.Parameters["server"];//服務器名稱  string uid = this.Context.Parameters["user"];//SQlServer用戶名  string pwd = this.Context.Parameters["pwd"];//密碼  string path = this.Context.Parameters["targetdir"];//安裝目錄  string strSql = "server=" + server + ";uid=" + uid + ";pwd=" + pwd + ";database=master";//連接數據庫字符串  string DataName = "JXC";//數據庫名  string strMdf = path + @"JXC.mdf";//MDF文件路徑,這里需注意文件名要與剛添加的數據庫文件名一樣!  string strLdf = path + @"jxc_log.ldf";//LDF文件路徑  base.Install(stateSaver);  this.CreateDataBase(strSql, DataName, strMdf, strLdf, path);//開始創建數據庫}/// <summary>/// 測試連接/// </summary>/// <param name="serverName"></param>/// <param name="dbName"></param>/// <param name="userName"></param>/// <param name="password"></param>private SqlConnection TestConnection(string serverName, string dbName, string userName, string password){    string connectionString = GetConnectionString(serverName, dbName, userName, password);    SqlConnection connection = new SqlConnection(connectionString);    try    {      if (connection.State != ConnectionState.Open)      {        connection.Open();      }      return connection;    }    catch    {      CloseConnection(connection);      throw new InstallException("安裝失敗!/n數據庫配置有誤,請正確配置信息!");    }}/// <summary>/// 得到連接字符串/// </summary>/// <param name="serverName"></param>/// <param name="dbName"></param>/// <param name="userName"></param>/// <param name="password"></param>/// <returns></returns>private string GetConnectionString(string serverName, string dbName, string userName, string password){    string connectionString = "Data Source={0};Initial Catalog={1};User ID={2};Password={3}";    connectionString = string.Format(connectionString, serverName, dbName, userName, password);    return connectionString;}/// <summary>/// 創建數據庫/// </summary>/// <param name="serverName"></param>/// <param name="dbName"></param>/// <param name="userName"></param>/// <param name="password"></param>/// <param name="connection"></param>/// <param name="stateSaver"></param>public int CreateDataBase(SqlConnection connection){    int result = -1;    connection.ChangeDatabase("master");    string createDBSql = @" if Exists(select 1 from sysdatabases where [name]=N'{0}')        begin        drop database {0}        end        GO        CREATE DATABASE {0} ";    createDBSql = string.Format(createDBSql, _dbName);    //因為有Go在SQLCommand中不認識,所以以Go為分隔符取sql語句    char[] split = new char[] { 'G', 'O' };    string[] sqlList = createDBSql.Split(split);    SqlCommand command = null;    try    {      command = connection.CreateCommand();      command.CommandType = System.Data.CommandType.Text;      foreach (string sqlItem in sqlList)      {        if (sqlItem.Length > 2)        {          command.CommandText = sqlItem;          result = command.ExecuteNonQuery();        }      }      return result;    }    catch    {      CloseConnection(connection);      command.Dispose();      throw new InstallException("安裝失敗!/n數據庫配置不正確!");    }}/// <summary>/// 分隔SQL語句/// </summary>/// <param name="sql"></param>/// <returns></returns>private string[] splitSql(string sql){    Regex regex = new Regex("^GO", RegexOptions.IgnoreCase | RegexOptions.Multiline);    string[] sqlList = regex.Split(sql.ToUpper());    return sqlList;}


注:相關教程知識閱讀請移步到c#教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 凉山| 麻阳| 梅河口市| 鹿邑县| 锡林浩特市| 五寨县| 东山县| 视频| 林周县| 莱西市| 甘孜县| 濮阳市| 凯里市| 和平区| 平江县| 长武县| 融水| 河源市| 托克托县| 中山市| 保德县| 全椒县| 乌鲁木齐市| 济源市| 南召县| 墨江| 敖汉旗| 瓦房店市| 太谷县| 宁化县| 龙口市| 卫辉市| 九寨沟县| 镇巴县| 元谋县| 繁昌县| 靖远县| 县级市| 烟台市| 栾川县| 博罗县|