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

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();
        }
    }
}

 效果如下: 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值