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

            grantOwnerDatabase = grantOwnerDatabase.Trim();
            if (!grantOwnerDatabase.StartsWith("`", StringComparison.Ordinal) || !grantOwnerDatabase.EndsWith("`", StringComparison.Ordinal))
            {
                grantOwnerDatabase = "`" + grantOwnerDatabase + "`";
            }

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

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

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

                return(false);
            }

            return(true);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 创建一个新的数据库
        /// </summary>
        /// <param name="database"></param>
        /// <param name="description"></param>
        /// <returns></returns>
        public override bool CreateDatabase(string database, ref string description)
        {
            description = "";
            if (!VaildStringParameters(ref description, database))
            {
                return(false);
            }

            database = database.Trim();
            if (!database.StartsWith("`", StringComparison.Ordinal) || !database.EndsWith("`", StringComparison.Ordinal))
            {
                database = "`" + database + "`";
            }

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

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

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

            return(true);
        }