欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
一個(gè)操作Sql2005數據庫的類(lèi)(備份,還原,分離,附加,添加刪除用戶(hù)等操作)
/*
 * 更新時(shí)間 :2011-09-01 16:06
 * 更 新 人 :蘇飛
 */
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.SqlClient;
using System.Data;
 
namespace Sql2005
{
    /// <summary>
    /// Sql數據操作幫助類(lèi),包括數據的創(chuàng )建,刪除,修改密碼等一系統列操作
    /// </summary>
    public abstract class DBT_SqlHelper
    {
        #region 連接Sql數據部分
 
        /// <summary>
        /// 數據庫連接字符串
        /// </summary>
        public static readonly string connectionString = System.Configuration.ConfigurationSettings.AppSettings["con"].ToString().Trim();
 
        #region//ExecteNonQuery方法
 
        /// <summary>
        ///執行一個(gè)不需要返回值的SqlCommand命令,通過(guò)指定專(zhuān)用的連接字符串。
        /// 使用參數數組形式提供參數列表 
        /// </summary>
        /// <param name="connectionString">一個(gè)有效的數據庫連接字符串</param>
        /// <param name="cmdType">SqlCommand命令類(lèi)型 (存儲過(guò)程, T-SQL語(yǔ)句, 等等。)</param>
        /// <param name="cmdText">存儲過(guò)程的名字或者 T-SQL 語(yǔ)句</param>
        /// <param name="commandParameters">以數組形式提供SqlCommand命令中用到的參數列表</param>
        /// <returns>返回一個(gè)數值表示此SqlCommand命令執行后影響的行數</returns>
        public static int ExecteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
        {
            SqlCommand cmd = new SqlCommand();
            using (SqlConnection conn = new SqlConnection(connectionString))
            {
                //通過(guò)PrePareCommand方法將參數逐個(gè)加入到SqlCommand的參數集合中
                PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
                int val = cmd.ExecuteNonQuery();
                //清空SqlCommand中的參數列表
                cmd.Parameters.Clear();
                return val;
            }
        }
 
        /// <summary>
        ///存儲過(guò)程專(zhuān)用
        /// </summary>
        /// <param name="cmdText">存儲過(guò)程的名字</param>
        /// <param name="commandParameters">以數組形式提供SqlCommand命令中用到的參數列表</param>
        /// <returns>返回一個(gè)數值表示此SqlCommand命令執行后影響的行數</returns>
        public static int ExecteNonQueryProducts(string cmdText, params SqlParameter[] commandParameters)
        {
            return ExecteNonQuery(DBT_SqlHelper.connectionString, CommandType.StoredProcedure, cmdText, commandParameters);
        }
 
        /// <summary>
        ///Sql語(yǔ)句專(zhuān)用
        /// </summary>
        /// <param name="cmdText">T_Sql語(yǔ)句</param>
        /// <param name="commandParameters">以數組形式提供SqlCommand命令中用到的參數列表</param>
        /// <returns>返回一個(gè)數值表示此SqlCommand命令執行后影響的行數</returns>
        public static int ExecteNonQueryText(string cmdText, params SqlParameter[] commandParameters)
        {
            return ExecteNonQuery(DBT_SqlHelper.connectionString, CommandType.Text, cmdText, commandParameters);
        }
 
        #endregion
 
        /// <summary>
        /// 為執行命令準備參數
        /// </summary>
        /// <param name="cmd">SqlCommand 命令</param>
        /// <param name="conn">已經(jīng)存在的數據庫連接</param>
        /// <param name="trans">數據庫事物處理</param>
        /// <param name="cmdType">SqlCommand命令類(lèi)型 (存儲過(guò)程, T-SQL語(yǔ)句, 等等。)</param>
        /// <param name="cmdText">Command text,T-SQL語(yǔ)句 例如 Select * from Products</param>
        /// <param name="cmdParms">返回帶參數的命令</param>
        private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)
        {
            //判斷數據庫連接狀態(tài)
            if (conn.State != ConnectionState.Open)
                conn.Open();
            cmd.Connection = conn;
            cmd.CommandText = cmdText;
            //判斷是否需要事物處理
            if (trans != null)
                cmd.Transaction = trans;
            cmd.CommandType = cmdType;
            if (cmdParms != null)
            {
                foreach (SqlParameter parm in cmdParms)
                    cmd.Parameters.Add(parm);
            }
        }
 
        #endregion
 
        /// <summary>
        /// 根據條件創(chuàng )建數據庫
        /// </summary>
        /// <param name="dbName">用于指定數據文件的邏輯名稱(chēng)</param>
        /// <param name="dbFileName">指定數據文件的操作系統文件名。其后面的參數是創(chuàng )建數據文件時(shí)定義的物理文件的路徑名和文件名</param>
        /// <param name="dbSize">指定數據文件的大小</param>
        /// <param name="dbMaxSize">指定數據文件可以增長(cháng)到的最大大小</param>
        /// <param name="dbFileGrowth">
        /// 指定數據文件的增長(cháng)增量,其值不能超過(guò)maxsize設置。0表示不增長(cháng)。,默認值為MB。如果指定為%,
        /// 則增量大小為發(fā)生時(shí)文件大小的指定百分比,如果沒(méi)有指定,默認值為10%。
        /// </param>
        /// <param name="logName">用于指定數據日志的邏輯名稱(chēng)</param>
        /// <param name="logFileName">指定數據日志的操作系統文件名。其后面的參數是創(chuàng )建數據日志時(shí)定義的物理文件的路徑名和文件名</param>
        /// <param name="logSize">指定數據日志的大小</param>
        /// <param name="logMaxSize">指定數據日志可以增長(cháng)到的最大大小</param>
        /// <param name="logFileGrowth">
        /// 指定數據日志的增長(cháng)增量,其值不能超過(guò)maxsize設置。0表示不增長(cháng)。,默認值為MB。如果指定為%,
        /// 則增量大小為發(fā)生時(shí)文件大小的指定百分比,如果沒(méi)有指定,默認值為10%。
        /// </param>
        /// <param name="isDeletedb">在創(chuàng )建數據庫是否刪除同名的現存數據庫</param>
        public static void CreateDatabase(string dbName, string dbFileName, string dbSize, string dbMaxSize, string dbFileGrowth,
           string logName, string logFileName, string logSize, string logMaxSize, string logFileGrowth, Boolean isDeletedb)
        {
            #region 檢查是否存在數據dbName
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO");
            if (isDeletedb)
            {
                dbSql.Append("IF  EXISTS(SELECT * FROM  sysdatabases WHERE  name ='@dbName')begin DROP DATABASE @dbName  end");
            }
            #endregion
 
            #region 創(chuàng )建數據庫
 
            //開(kāi)始創(chuàng )建數據并指定名稱(chēng)
            dbSql.Append("CREATE DATABASE @dbName ON  PRIMARY (");
            //數據庫名
            dbSql.Append("NAME='@ dbName" + "_data',");
            //數據路經(jīng)
            dbSql.Append("FILENAME='@dbFileName', ");
            //大小
            dbSql.Append("SIZE=@dbSize, ");
            //最大值
            dbSql.Append("MAXSIZE= @dbMaxSize,");
            //增長(cháng)值
            dbSql.Append("FILEGROWTH=@dbFileGrowth)");
 
            #endregion
 
            #region 創(chuàng )建數據庫日志
 
            //開(kāi)始創(chuàng )建日志文件
            dbSql.Append("LOG ON (");
            //日志文件名
            dbSql.Append("NAME='@logName" + "_log',");
            //日志文件路經(jīng)
            dbSql.Append("FILENAME='@logFileName',");
            //大小
            dbSql.Append("SIZE=@logSize,");
            //最大值
            dbSql.Append("MAXSIZE=@logMaxSize,");
            //增加值
            dbSql.Append("FILEGROWTH=@logFileGrowth ) GO");
 
            #endregion
 
            #region 開(kāi)始執行創(chuàng )建命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            {
                new SqlParameter("@dbName", dbName), 
                new SqlParameter("@dbFileName", dbFileName),
                new SqlParameter("@dbSize", dbSize),
                new SqlParameter("@dbMaxSize", dbMaxSize),
                new SqlParameter("@dbFileGrowth", dbFileGrowth),
                new SqlParameter("@logName", logName),
                new SqlParameter("@logFileName", logFileName),
                new SqlParameter("@logSize", logSize),
                new SqlParameter("@logMaxSize", logMaxSize),
                new SqlParameter("@logFileGrowth", logFileGrowth)
            };
 
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 刪除指定名稱(chēng)的數據庫文件以及日志文件
        /// </summary>
        /// <param name="dbName">數據庫名稱(chēng)</param>
        public static void DropDatabase(string dbName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append("DROP DATABASE @dbName");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = { new SqlParameter("@dbName", dbName) };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), parameter);
 
            #endregion
        }
 
        /// <summary>
        /// 備份數據庫
        /// </summary>
        /// <param name="dbName">數據庫文件名</param>
        /// <param name="dbFileName">路經(jīng)包括盤(pán)符和文件名以及擴展名稱(chēng)一般為“_dat”</param>
        public static void BackupDatabase(string dbName, string dbFileName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append("BACKUP DATABASE @dbName TO DISK ='@dbFileName'");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            {
                new SqlParameter("@dbName", dbName), 
                new SqlParameter("@dbFileName", dbFileName)
            };
 
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), parameter);
 
            #endregion
        }
 
        /// <summary>
        /// 恢復數據庫
        /// </summary>
        /// <param name="dbName">數據庫名</param>
        /// <param name="dbFileName">路經(jīng)包括盤(pán)符和文件名以及擴展名稱(chēng)一般為“_dat”</param>
        public static void RestoreDatabase(string dbName, string dbFileName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append("restore database @dbName from disk='@dbFileName'  WITH REPLACE,RECOVERY");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            {
                new SqlParameter("@dbName", dbName), 
                new SqlParameter("@dbFileName", dbFileName)
            };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 附加數據庫文件
        /// </summary>
        /// <param name="newDbName">附加時(shí)的新名稱(chēng)可以是原名,也可以得新取一個(gè)新名稱(chēng)</param>
        /// <param name="dbFileName">數據文件的路徑包括盤(pán)符和文件名以及擴展名</param>
        /// <param name="logFileName">日志文件的路徑包括盤(pán)符和文件名以及擴展名</param>
        public static void OnlineDatabase(string newDbName, string dbFileName, string logFileName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append("EXEC sp_attach_db @ newDbName,'@dbFileName','@logFileName'");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            {
                new SqlParameter("@dbFileName", dbFileName), 
                new SqlParameter("@logFileName", logFileName)
            };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 分離數據庫文件
        /// </summary>
        /// <param name="dbName">數據庫名稱(chēng)</param>
        public static void OfflineDatabase(string dbName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append(" exec  sp_detach_db '@dbName' ");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = { new SqlParameter("@dbName", dbName) };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 重新設置用戶(hù)的密碼
        /// </summary>
        /// <param name="newPassword">新密碼</param>
        /// <param name="userName">登錄用戶(hù)名</param>
        public static void ResetPassword(string newPassword, string userName)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE master ");
            dbSql.Append("  GO  ");
            dbSql.Append("EXEC   sp_password null,'@newPassword','@userName'");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            {
                new SqlParameter("@newPassword", newPassword),
                new SqlParameter("@userName", userName) 
            };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 分離數據庫文件
        /// </summary>
        /// <param name="dbName">數據庫名稱(chēng)</param>
        /// <param name="newPassword">新密碼</param>
        /// <param name="userName">登錄用戶(hù)名</param>
        public static void CreateDbUser(string dbName, string userName, string passWord)
        {
            #region 構造Sql代碼
 
            StringBuilder dbSql = new StringBuilder();
            //設置當前數據庫
            dbSql.Append("USE  " + dbName);
            dbSql.Append("  GO  ");
            dbSql.Append("EXEC sp_addlogin N'@userName','@passWord'");
            dbSql.Append("EXEC sp_grantdbaccess N'@userName'");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            { 
                new SqlParameter("@dbName",userName),
                new SqlParameter("@userName", userName),
                new SqlParameter("@passWord", passWord)
            };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
 
        /// <summary>
        /// 給指定數據的指定用戶(hù)授于本數據庫的所有操作權限
        /// </summary>
        /// <param name="dbName">數據庫名稱(chēng)</param>
        /// <param name="userName">用戶(hù)名稱(chēng)</param>
        public static void AddRoleToDbUser(string dbName, string userName)
        {
            #region 構造代碼
 
            StringBuilder dbSql = new StringBuilder();
 
            //設置當前數據庫
            dbSql.Append("USE " + dbName);
            dbSql.Append("GO ");
            dbSql.Append("EXEC sp_addrolemember N'@dbName', N'@userName'");
 
            #endregion
 
            #region 開(kāi)始執行命令
 
            //設置參數列表
            SqlParameter[] parameter = 
            { 
                new SqlParameter("@dbName",userName),
                new SqlParameter("@userName", userName)
            };
            DBT_SqlHelper.ExecteNonQueryText(dbSql.ToString().Trim(), null);
 
            #endregion
        }
    }
}
本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
C# 通過(guò)反射把數據庫中的表打包成對象
CRUD實(shí)體(2)
linq to entity 將多表查詢(xún)返回的iqueryable對象系列化成json格式
VS2005 制作安裝文件 (ASP)
C#源碼多線(xiàn)程多串口
在C#中讀寫(xiě)INI配置文件(轉)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久