/// <summary> /// 测试连接 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void button1_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(cbbServer.Text)) { MessageBox.Show("服务器不能为空!"); return; } if (string.IsNullOrEmpty(txtUserName.Text)) { MessageBox.Show("登陆名不能为空!"); return; } try { IDbObject dbObejct = new Dos.DbObjects.MySQL.DbObject(false, cbbServer.Text, txtUserName.Text, txtPassword.Text, txtport.Text); DataTable DBNameTable = dbObejct.GetDBList(); cbbDatabase.Items.Clear(); cbbDatabase.Items.Add("全部"); foreach (DataRow dr in DBNameTable.Rows) { cbbDatabase.Items.Add(dr[0].ToString()); } cbbDatabase.Enabled = true; cbbDatabase.SelectedIndex = 0; MessageBox.Show("连接成功!"); } catch (Exception ex) { MessageBox.Show("连接失败!\n\r" + ex.Message); cbbDatabase.Enabled = false; } }
/// <summary> /// /// </summary> private void getDatabaseinfo() { TreeNode node = tview.SelectedNode; Model.Connection conModel = list.Find(delegate(Model.Connection con) { return(con.ID.ToString().Equals(node.Tag.ToString())); }); IDbObject dbObject; if (conModel.DbType.Equals(Dos.ORM.DatabaseType.MsAccess.ToString())) { dbObject = new Dos.DbObjects.OleDb.DbObject(conModel.ConnectionString); TreeNode tnode = new TreeNode(conModel.Database, 1, 1); tnode.Tag = conModel.ConnectionString; tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(""), dbObject.GetVIEWs("")); } else if (conModel.DbType.Equals(Dos.ORM.DatabaseType.Sqlite3.ToString())) { dbObject = new Dos.DbObjects.SQLite.DbObject(conModel.ConnectionString); TreeNode tnode = new TreeNode(conModel.Database, 1, 1); tnode.Tag = conModel.ConnectionString; tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(""), dbObject.GetVIEWs("")); } else if (conModel.DbType.Equals(Dos.ORM.DatabaseType.SqlServer.ToString()) || conModel.DbType.Equals(Dos.ORM.DatabaseType.SqlServer9.ToString())) { if (conModel.DbType.Equals(Dos.ORM.DatabaseType.SqlServer.ToString())) { dbObject = new Dos.DbObjects.SQL2000.DbObject(conModel.ConnectionString); } else { dbObject = new Dos.DbObjects.SQL2005.DbObject(conModel.ConnectionString); } if (conModel.Database.Equals("all")) { DataTable dt = dbObject.GetDBList(); foreach (DataRow dr in dt.Rows) { TreeNode tnode = new TreeNode(dr[0].ToString(), 1, 1); tnode.Tag = conModel.ConnectionString.Replace("master", dr[0].ToString()); tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(tnode.Text), dbObject.GetVIEWs(tnode.Text)); } } else { TreeNode tnode = new TreeNode(conModel.Database, 1, 1); tnode.Tag = conModel.ConnectionString; tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(tnode.Text), dbObject.GetVIEWs(tnode.Text)); } } else if (conModel.DbType.Equals(Dos.ORM.DatabaseType.Oracle.ToString())) { dbObject = new Dos.DbObjects.Oracle.DbObject(conModel.ConnectionString); TreeNode tnode = new TreeNode(conModel.Database, 1, 1); tnode.Tag = conModel.ConnectionString; tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(tnode.Text), dbObject.GetVIEWs(tnode.Text)); } else if (conModel.DbType.Equals(Dos.ORM.DatabaseType.MySql.ToString())) { dbObject = new Dos.DbObjects.MySQL.DbObject(conModel.ConnectionString); if (conModel.Database.Equals("all")) { DataTable dt = dbObject.GetDBList(); foreach (DataRow dr in dt.Rows) { TreeNode tnode = new TreeNode(dr[0].ToString(), 1, 1); tnode.Tag = conModel.ConnectionString.Replace("master", dr[0].ToString()); tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(tnode.Text), dbObject.GetVIEWs(tnode.Text)); } } else { TreeNode tnode = new TreeNode(conModel.Database, 1, 1); tnode.Tag = conModel.ConnectionString; tnode.ContextMenuStrip = contextMenuStripOneDataBase; node.Nodes.Add(tnode); gettables(tnode, dbObject.GetTables(tnode.Text), dbObject.GetVIEWs(tnode.Text)); } } }