Exemplo n.º 1
0
        /// <summary>
        /// 创建一个数据库用户
        /// </summary>
        /// <param name="UserName"></param>
        /// <param name="Password"></param>
        /// <param name="GrantOwnerDatabaseName"></param>
        /// <param name="ReturnDescription"></param>
        /// <returns></returns>
        public override bool CreateUser(string UserName, string Password, string GrantOwnerDatabaseName, ref string ReturnDescription)
        {
            ReturnDescription = "";
            if (!VaildStringParameters(ref ReturnDescription, UserName, Password, GrantOwnerDatabaseName))
            {
                return(false);
            }

            GrantOwnerDatabaseName = GrantOwnerDatabaseName.Trim();
            if (!GrantOwnerDatabaseName.StartsWith("`") || !GrantOwnerDatabaseName.EndsWith("`"))
            {
                GrantOwnerDatabaseName = "`" + GrantOwnerDatabaseName + "`";
            }

            if (!Open(ref ReturnDescription))
            {
                return(false);
            }
            string comm = String.Format("CREATE USER '{0}'@'%' IDENTIFIED BY '{1}';\r\n GRANT ALL ON {2}.* TO '{3}'@'%';\r\n flush privileges;",
                                        UserName, Password, GrantOwnerDatabaseName, UserName);

            Shove.DatabaseFactory.MySQL mysql = new Shove.DatabaseFactory.MySQL(this.ConnectionString);
            int result = mysql.ExecuteNonQuery(comm);

            Close();
            if (result < 0)
            {
                ReturnDescription = "数据库指令执行发生错误,返回值是 " + result.ToString() + "||" + comm;

                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        /// <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 + "`";
            }

            Shove.DatabaseFactory.MySQL mysql = new Shove.DatabaseFactory.MySQL(this.ConnectionString);
            try
            {
                int result = mysql.ExecuteNonQuery("create database " + DatabaseName + " DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;");
                Close();

                if (result < 0)
                {
                    ReturnDescription = "数据库指令执行发生错误,返回值是 " + result.ToString() + "|" + "create database " + DatabaseName;

                    return(false);
                }
            }
            catch (Exception e)
            {
                ReturnDescription = "创建数据库出错!" + e.ToString() + "|" + "create database " + DatabaseName;
                return(false);
            }

            return(true);
        }