62,244
社区成员




分三个页面,没有Access实例数据库,没测试,基本大概这个写法
Default.aspx页面s
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>目录树</title>
<style type="text/css">
html
{
overflow-x: hidden;
}
</style>
</head>
<frameset cols="1,*,1" frameborder="no" border="0" framespacing="0">
<frame src="about:blank"></frame>
<frameset cols="178,*" frameborder="no" border="0" framespacing="0" id="MainFrame">
<frame src="Left.aspx" name="left" scrolling="auto" id="left" title="left" />
<frame src="Center.aspx" name="center" id="center" title="center" scrolling="auto" />
</frameset>
<frame src="about:blank"></frame>
</frameset>
<noframes>
</noframes>
</html>
Left.aspx页面:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Left.aspx.cs" Inherits="Left" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server">
</asp:TreeView>
</div>
</form>
</body>
</html>
后台cs代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
public partial class Left : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BindAccessTree();
}
}
public void BindAccessTree()
{
//Access 2007数据库
string strConnection = "Provider = Microsoft.ACE.OLEDB.12.0;"; //C#读取Excel的连接字符串
strConnection += @"Data Source = E:\Access\AccessDB.accdb "; //指定数据库在硬盘的物理位置
using (OleDbConnection objConnection = new OleDbConnection(strConnection)) //用using替代objConnection.Close()
{
objConnection.Open(); //打开连接
DataTable tblSch = objConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
DataView view = tblSch.DefaultView;
view.RowFilter = "table_type='table' ";
TreeNode node;
foreach (DataRowView drv in view)
{
node = new TreeNode();
node.Text = drv["Table_Name"].ToString();
node.NavigateUrl = "Center.aspx?table_name='" + drv["Table_Name"] + "'";
this.TreeView1.Nodes.Add(node);
}
}
}
}
Center.aspx页面代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Center.aspx.cs" Inherits="Center" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>
后台代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data.OleDb;
using System.Data;
public partial class Center : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string tableName = Request.QueryString["Table_Name"].ToString();
BindGridView(tableName);
}
}
public void BindGridView(string tableName)
{
string strConnection = "Provider = Microsoft.ACE.OLEDB.12.0;"; //C#读取Excel的连接字符串
strConnection += @"Data Source = E:\Access\CSharpTest.accdb "; //指定数据库在硬盘的物理位置
using (OleDbConnection objConnection = new OleDbConnection(strConnection)) //用using替代objConnection.Close()
{
objConnection.Open(); //打开连接
string strSQL = "select * from "+tableName;
OleDbDataAdapter Comm = new OleDbDataAdapter(strSQL, objConnection);
DataSet ds = new DataSet(); //DataSet 初试化
Comm.Fill(ds, "temp");
this.GridView1.DataSource = ds.Tables["temp"].DefaultView;
this.GridView1.DataBind();
}
}
}