下面展示一些 代码片
。
public Form1()
{
InitializeComponent();
OpQueryMySql();
}
private string strSql = "SHOW DATABASES";
private MySqlConnection msct;
private MySqlCommand mscd;
private static string constr = "server=localhost;port=3306;user=root;password=123456;Charset=utf8";
private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
if (treeView1.SelectedNode.FullPath == treeView1.SelectedNode.Text)
{
string table = treeView1.SelectedNode.Text;//数据表名
OpQuerytable(table);
treeView1.SelectedNode.Expand();//展开选中的节点
}
else
{
int count = treeView1.SelectedNode.Text.Length; //获取选中节点字符长度
string str = treeView1.SelectedNode.FullPath; //获取选中节点从父节点到目标节点的路径
string str1 = str.Remove(str.LastIndexOf("\\"), count+1); //获取父节点text,获取数据库名
// "\\"是转译字符
}
}
/// <summary>
/// 查询数据库操作
/// </summary>
/// <param name="queryStr"></param>
public void OpQueryMySql()
{
try
{
msct = new MySqlConnection(constr);
if (msct != null)
{
msct.Open();
Console.WriteLine("查询通道打开");
mscd = new MySqlCommand(strSql, msct);
MySqlDataReader dr = mscd.ExecuteReader();
while (dr.Read())
{
treeView1.Nodes.Add(dr[0].ToString());
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
msct.Close();
}
}
/// <summary>
/// 查询数据表操作
/// </summary>
/// <param name="queryStr"></param>
public void OpQuerytable(string bases)
{
treeView1.SelectedNode.Nodes.Clear();
constr += ";database=" + bases;
try
{
msct = new MySqlConnection(constr);
strSql = "show tables";
if (msct != null)
{
msct.Open();
mscd = new MySqlCommand(strSql, msct);
MySqlDataReader dr = mscd.ExecuteReader();
while (dr.Read())
{
treeView1.SelectedNode.Nodes.Add(dr[0].ToString());
}
}
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
finally
{
msct.Close();
}
}
效果如下: