/// <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(); }
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; }