using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.OleDb;
using Test;
public partial class Default2 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!this.Page.IsPostBack)
{
this.dbind();
}
}
public void dbind()
{
string sql="";
OleDbConnection con = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\04mm.mdb");
OleDbCommand cmd;
OleDbDataAdapter apt;
DataSet ds = new DataSet();
TreeNode root = new TreeNode();
root.Text = "数据库";
this.TreeView1.Nodes.Add(root);
string[] name =GetShemaTable("c:\\04mm.mdb");
TreeNode paraent = new TreeNode();
TreeNode child = new TreeNode();
TreeNode cchild = new TreeNode();
GridView gv = new GridView();
for (int i = 0; i < name.Length; i++)
{
ds = new DataSet();
gv = new GridView();
paraent.Text = name[i].ToString();
paraent.Collapse();
root.ChildNodes.Add(paraent);
sql = "select * from " + name[i].ToString();
cmd = new OleDbCommand(sql, con);
apt = new OleDbDataAdapter(cmd);
apt.Fill(ds,"temp");
gv.DataSource = ds;
gv.DataBind();
// this.Panel1.Controls.Add(gv);
for (int k = 0; k < ds.Tables["temp"].Columns.Count; k++)
{
child.Text = ds.Tables["temp"].Columns[k].ColumnName.ToString();
paraent.ChildNodes.Add(child);
//for (int j = 0; j < ds.Tables["temp"].Rows.Count; j++)
//{
// cchild.Text = gv.Rows[j].Cells[k].Text.ToString();
// child.ChildNodes.Add(cchild);
// cchild = new TreeNode();
//}
child = new TreeNode();
}
paraent = new TreeNode();
paraent.Collapse();
gv.Dispose();
ds.Dispose();
}
}
public static string[] GetShemaTable(string strDbPath)
{
//创建OleDb数据库连接
OleDbConnection pOleConn;
//设置数据连接
pOleConn = new OleDbConnection();
pOleConn.ConnectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + strDbPath;
pOleConn.Open();
try
{
//获取数据表
DataTable shemaTable = pOleConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
int n = shemaTable.Rows.Count;
string[] strTable = new string[n];
int m = shemaTable.Columns.IndexOf("TABLE_NAME");
for (int i = 0; i < n; i++)
{
DataRow m_DataRow = shemaTable.Rows[i];
strTable[i] = m_DataRow.ItemArray.GetValue(m).ToString();
}
return strTable;
}
catch (OleDbException ex)
{
Console.WriteLine("指定的限制集无效!");
Console.WriteLine(ex.Message);
return null;
}
finally
{
pOleConn.Close();
pOleConn.Dispose();
}
}
}
浙公网安备 33010602011771号