Пример #1
0
        /// <summary>
        /// 添加一个数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void skinButton_add_Click(object sender, EventArgs e)
        {
            string databaseName = textBox_name.Text;
            string ip           = textBox_ip.Text;
            string port         = textBox_port.Text;
            string username     = textBox_username.Text;
            string password     = textBox_password.Text;
            string encoding     = textBox_encoding.Text;

            if (databaseName.Trim() == "")
            {
                MessageBox.Show("数据库名称不能为空", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            lib.pMysql mysql = new lib.pMysql(ip, port, username, password, "");
            if (!mysql.isConnOpen())
            {
                MessageBox.Show("MySQL无法打开!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            pDataManageClass p = new pDataManageClass();

            if (!p.addMysqlDataBase(databaseName, ip, port, username, password, encoding))
            {
                MessageBox.Show("添加出错!" + p.error, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }
            this.Close();
        }
Пример #2
0
        /// <summary>
        /// 加载mysql表结构
        /// </summary>
        /// <param name="hash"></param>
        /// <param name="database"></param>
        /// <param name="table"></param>
        public void mysqlLoad(string hash, string database, string table)
        {
            Data.pDataManageClass       pData = new Data.pDataManageClass();
            Dictionary <string, string> d     = pData.getDataBaseHash(hash);

            lib.pMysql mysql = new lib.pMysql(d["ip"], d["port"], d["username"], d["password"], database);
            showDataGridViewDictionary(mysql.getTableInfo(table), Data.DataBaseType.Mysql);
        }
Пример #3
0
        /// <summary>
        /// 创建数据库
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void skinButton_create_Click(object sender, EventArgs e)
        {
            TreeView tv       = pDataManage.f.getTreeView();
            string   name     = textBox_name.Text;
            string   encoding = textBox_encoding.Text;

            if (name == "")
            {
                MessageBox.Show("数据库名称不能为空!", "提示");
                return;
            }
            Data.pDataManageClass       p        = new pDataManageClass();
            Dictionary <string, string> database = p.getDataBaseHash(this.hash);

            if (database.Count <= 0)
            {
                MessageBox.Show("找不到相关配置!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            lib.pMysql mysql = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], "", encoding);
            //CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
            string sql = string.Format("CREATE DATABASE IF NOT EXISTS {0} DEFAULT CHARSET {1} COLLATE {2}", name, encoding, encoding + "_general_ci");

            if (mysql.executeNonQuery(sql) > 0)
            {
                tv.BeginInvoke(new Action(() =>
                {
                    TreeNode tn            = pForm1TreeView.FindNodeByName(tv.Nodes, this.hash);
                    TreeNode pid           = tn.Nodes.Add(name);
                    pid.ImageIndex         = 2;
                    pid.SelectedImageIndex = 2;
                }));
                this.Close();
            }
            else
            {
                MessageBox.Show("创建失败!\r\n" + mysql.error, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Пример #4
0
 /// <summary>
 /// 自定义sql运行 button按钮
 /// </summary>
 /// <param name="obj1"></param>
 /// <param name="obj2"></param>
 public void getRunSql(object obj1, object obj2)
 {
     try
     {
         if (obj1 == null)
         {
             return;
         }
         SkinButton        sb   = (SkinButton)obj1;
         string            name = sb.Name;
         string            rand = name.Replace("sqlrun", "");
         Models.RunSqlForm rsf  = RunSqlList[rand];
         string            text = rsf.fctb.Text;
         if (text == "")
         {
             return;
         }
         if (rsf.selectHash == null)
         {
             return;
         }
         string   hash  = rsf.selectHash;
         string[] array = hash.Split('|');
         if (array.Length <= 1)                               //主要数据库
         {
             string databaseHash                  = array[0]; //数据库hash
             Data.pDataManageClass       p        = new Data.pDataManageClass();
             Dictionary <string, string> database = p.getDataBaseHash(databaseHash);
             if (database["type"] == Data.DataBaseType.Mysql.ToString())
             {
                 lib.pMysql mysql = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], "");
                 Dictionary <int, object> List = mysql.getRows(text);
                 if (mysql.error.Length <= 0)
                 {
                     tabPageDataGridViewShow(rsf.stp, List, rand);//结果显示
                 }
                 else
                 {
                     tabPageErrorShow(rsf.stp, mysql.error, rand);//错误显示
                 }
             }
         }
         if (array.Length >= 4)              //表
         {
             string type         = array[2]; //获取类型
             string databaseHash = array[0]; //数据库hash
             string table        = array[3]; //数据库table
             if (type == Data.DataBaseType.Mysql.ToString())
             {
                 Data.pDataManageClass       p        = new Data.pDataManageClass();
                 Dictionary <string, string> database = p.getDataBaseHash(databaseHash);
                 lib.pMysql mysql = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], table);
                 Dictionary <int, object> List = mysql.getRows(text);
                 if (mysql.error.Length <= 0)
                 {
                     tabPageDataGridViewShow(rsf.stp, List, rand);//结果显示
                 }
                 else
                 {
                     tabPageErrorShow(rsf.stp, mysql.error, rand);//错误显示
                 }
             }
         }
     }
     catch (Exception ex) { pLogs.logs(ex.ToString()); }
     //string name = obj1;
 }
Пример #5
0
        /// <summary>
        /// 输出mysql数据库的树
        /// </summary>
        /// <param name="tv"></param>
        /// <param name="hash"></param>
        /// <param name="database"></param>
        public void showMysqlTreeViewTableList(TreeView tv, string hash, Dictionary <string, string> database, lib.pMysql mysql)
        {
            Dictionary <int, object> list = mysql.getDataBaseList();

            if (list.Count <= 0)
            {
                return;
            }
            tv.Invoke(new Action(() =>
            {
                TreeNode tn = tv.SelectedNode;
                for (int i = 0; i < list.Count; i++)
                {
                    Dictionary <string, string> d = new Dictionary <string, string> {
                    };
                    d = (Dictionary <string, string>)list[i];
                    string pidHash = hash + "|mysql_database|" + Data.DataBaseType.Mysql.ToString() + "|" + d["Database"];
                    TreeNode pidTn = pForm1TreeView.FindNodeByName(tn.Nodes, pidHash);
                    if (pidTn != null)
                    {
                        return;
                    }
                    TreeNode show           = tn.Nodes.Add(pidHash, d["Database"]);
                    show.ImageIndex         = 2;
                    show.SelectedImageIndex = 2;
                }
            }));
        }
Пример #6
0
 public void treeView_database_DoubleClickFun()
 {
     this.Cursor = Cursors.WaitCursor;
     try
     {
         Data.pDataManageClass p = new Data.pDataManageClass();
         TreeView tv             = treeView_database;
         this.treeviewSelectHash = "";
         if (tv.SelectedNode == null)
         {
             this.Cursor = Cursors.Default; return;
         }
         string hash = tv.SelectedNode.Name;
         this.treeviewSelectHash = hash;
         Dictionary <string, string> database = p.getDataBaseHash(hash);
         if (database.Count > 0)                                          //是数据库
         {
             if (database["type"] == Data.DataBaseType.Sqlite.ToString()) //sqlite
             {
                 if (!File.Exists(database["path"]))
                 {
                     MessageBox.Show("数据库不存在!", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     this.Cursor = Cursors.Default;
                     return;
                 }
                 showSqliteTreeViewTableList(tv, hash, database);
                 return;
             }
             if (database["type"] == Data.DataBaseType.Mysql.ToString())//mysql
             {
                 lib.pMysql mysql = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], "");
                 if (!mysql.isConnOpen())
                 {
                     MessageBox.Show("无法打开数据库!" + mysql.error, "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                     this.Cursor = Cursors.Default; return;
                 }
                 showMysqlTreeViewTableList(tv, hash, database, mysql);
                 this.Cursor = Cursors.Default;
                 return;
             }
         }
         string[] array = hash.Split('|');
         if (array.Length < 2)
         {
             this.Cursor = Cursors.Default; return;
         }
         if (array[1] == "table")//打开表
         {
             Dictionary <string, string> list = p.getDataBaseHash(array[0]);
             if (list.Count <= 0)
             {
                 this.Cursor = Cursors.Default; return;
             }
             if (list["type"] == Data.DataBaseType.Sqlite.ToString())//sqlite
             {
                 lib.pSqlite sqlite = new lib.pSqlite(list["path"]);
                 Dictionary <int, object> tableList = sqlite.getTableListData(array[3]);
                 showDataViewTableListData(tableList);
             }
         }
         if (array[1] == "mysql_database")//打开mysql数据库显示表
         {
             database = p.getDataBaseHash(array[0]);
             string     databaseName = array[3];//数据库
             lib.pMysql mysql        = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], databaseName);
             showMysqlTableTreeViewTableList(treeView_database, array[0], database, mysql, databaseName);
             mysql.close();
         }
         if (array[1] == "mysql_table")//打开mysql表
         {
             database = p.getDataBaseHash(array[0]);
             string     databaseName = array[3]; //数据库
             string     table        = array[4]; //数据库
             lib.pMysql mysql        = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], databaseName);
             if (!mysql.isConnOpen())
             {
                 MessageBox.Show("操作不正常");
                 this.Cursor = Cursors.Default; return;
             }
             Dictionary <int, object> tableList = mysql.getTableListData(table);
             if (tableList.Count <= 0)//为空情况下默认输出一行
             {
                 lib.pMysql mysqlInfo = new lib.pMysql(database["ip"], database["port"], database["username"], database["password"], databaseName);
                 Dictionary <int, object>    tableListInfo = mysqlInfo.getTableInfo(table);
                 Dictionary <string, string> add           = new Dictionary <string, string> {
                 };
                 for (int i = 0; i < tableListInfo.Count; i++)
                 {
                     Dictionary <string, string> temp = (Dictionary <string, string>)tableListInfo[i];
                     add.Add(temp["Field"], "");
                 }
                 tableList.Add(0, add);
             }
             showDataViewTableListData(tableList);
             skinTabControl1.SelectedTab = skinTabPage1;
         }
     }
     catch (Exception ex)
     {
         pLogs.logs(ex.ToString());
         this.Cursor = Cursors.Default;
     }
     this.Cursor = Cursors.Default;
 }