/// <summary> /// 创建一个新的数据库 /// </summary> /// <param name="DatabaseName"></param> /// <param name="ReturnDescription"></param> /// <returns></returns> public override bool CreateDatabase(string DatabaseName, ref string ReturnDescription) { ReturnDescription = ""; if (!VaildStringParameters(ref ReturnDescription, DatabaseName)) { return(false); } DatabaseName = DatabaseName.Trim(); if (!DatabaseName.StartsWith("[") || !DatabaseName.EndsWith("]")) { DatabaseName = "[" + DatabaseName + "]"; } if (!Open(ref ReturnDescription)) { ReturnDescription = "数据库打开出错!"; return(false); } Shove.DatabaseFactory.MSSQL mssql = new Shove.DatabaseFactory.MSSQL(this.ConnectionString); int result = mssql.ExecuteNonQuery("create database " + DatabaseName + ";"); Close(); //测试证明-1已经创建成功了 if (result < -1) { ReturnDescription = "数据库指令执行发生错误1,返回值是 " + result.ToString() + "|" + "create database " + DatabaseName + "|" + this.ConnectionString; return(false); } return(true); }
/// <summary> /// 修改用户密码 /// </summary> /// <param name="UserName"></param> /// <param name="OldPassword"></param> /// <param name="NewPassword"></param> /// <param name="ReturnDescription"></param> /// <returns></returns> public override bool EditUserPassword(string UserName, string OldPassword, string NewPassword, ref string ReturnDescription) { ReturnDescription = ""; if (!VaildStringParameters(ref ReturnDescription, UserName, OldPassword, NewPassword)) { return(false); } if (!Open(ref ReturnDescription)) { return(false); } string sql = String.Format("exec sp_password '{0}', '{1}', '{2}';", (String.IsNullOrEmpty(OldPassword) ? "NULL" : OldPassword), NewPassword, UserName); Shove.DatabaseFactory.MSSQL mssql = new Shove.DatabaseFactory.MSSQL(this.ConnectionString); //int result =Shove . Database.MSSQL.ExecuteNonQuery((SqlConnection)this.conn, // String.Format("exec sp_password '{0}', '{1}', '{2}'", // (String.IsNullOrEmpty(OldPassword) ? "NULL" : OldPassword), NewPassword, UserName)); int result = mssql.ExecuteNonQuery(sql); if (result < -1)//-1时已经成功 { ReturnDescription = "数据库指令执行发生错误3,返回值是 " + result.ToString() + "||" + sql; return(false); } return(true); }
/// <summary> /// 物理移除数据库 /// </summary> /// <param name="DatabaseName"></param> /// <param name="UserName"></param> /// <param name="ReturnDescription"></param> /// <returns></returns> public override bool RemoveDatabase(string DatabaseName, string UserName, ref string ReturnDescription) { ReturnDescription = ""; if (!VaildStringParameters(ref ReturnDescription, DatabaseName, UserName)) { return(false); } DatabaseName = DatabaseName.Trim(); if (!DatabaseName.StartsWith("[") || !DatabaseName.EndsWith("]")) { DatabaseName = "[" + DatabaseName + "]"; } if (!Open(ref ReturnDescription)) { return(false); } string sql = String.Format(@"use {0} EXEC sp_revokedbaccess N'{1}' EXEC sp_droplogin N'{2}' use master ALTER DATABASE {3} SET SINGLE_USER with ROLLBACK IMMEDIATE DROP DATABASE {4}", DatabaseName, UserName, UserName, DatabaseName, DatabaseName); Shove.DatabaseFactory.MSSQL mssql = new Shove.DatabaseFactory.MSSQL(this.ConnectionString); int result = mssql.ExecuteNonQuery(sql); Close(); if (result < 0) { ReturnDescription = "移除数据库出现错误,返回值是 " + result.ToString(); return(false); } return(true); }