asp.net通过datatable获取数据库中表名_vs2010

superConn.cs代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.OleDb;

namespace 练习
{
public class superConn
{
public OleDbConnection cnn;
private OleDbCommand cmd;
private OleDbDataReader datar;
public superConn(string mdbFileName){
string _path = "~\\App_Data\\" + mdbFileName;
string str_conn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="
+ System.Web.HttpContext.Current.Server.MapPath(_path);//调用MapPath的完整命名空间
cnn = new OleDbConnection(str_conn);
}
//打开连接
public void open() {
cnn.Open();
}
//关闭连接
public void close() {
cnn.Close();
}
public OleDbDataReader getDateReader(string _sql) {
cmd = new OleDbCommand(_sql, cnn);
datar = cmd.ExecuteReader();
return datar;

}
}
}


.aspx代码如下:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:Button ID="Button1" runat="server" Text="Test" οnclick="Button1_Click" />

<br />
<asp:Button ID="Button2" runat="server" οnclick="Button2_Click" Text="Button" />
<asp:Panel ID="Panel1" runat="server">
</asp:Panel>

</div>
</form>
</body>
</html>


.apsx.cs代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="测试自定义数据库连接类.aspx.cs" Inherits="练习.测试自定义数据库连接类" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<pre name="code" class="csharp">using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;//必须引入
using System.Data.OleDb;//必须引入

namespace 练习
{
public partial class 测试自定义数据库连接类 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
superConn mycnn= new superConn("data.mdb");
mycnn.open();
string _sql="SELECT* FROM T_IMGS";
OleDbDataReader dr=mycnn.getDateReader(_sql);
while (dr.Read()) {
Response.Write(dr["img_url"].ToString()+"<br>");
}
mycnn.close();

}
//本文代码在下面:
protected void Button2_Click(object sender, EventArgs e)
{
superConn myCnn = new superConn("data.mdb");
myCnn.open();

DataTable dt = myCnn.cnn.GetSchema("tables", null);//获取结构表;
//下面代码用于获取用户自建的表格,用select获取Table_Type为Table的表格
foreach (DataRow dr in dt.Select("TABLE_TYPE='TABLE'")) {
string s = dr["TABLE_NAME"].ToString();
Response.Write(s+"\n");
}
//下面代码用于获取所有表格,包括系统表
GridView gv = new GridView();
gv.DataSource = dt;
gv.DataBind();//数据绑定、拷贝!!!

Panel1.Controls.Add(gv);
myCnn.close();
}
}
}



效果如下:

asp.net通过datatable获取数据库中表名_datatable_02