Asp.Net(C#) 遍历数据库表名,列名
ADO.NET提供了个很简单的方法就能实现遍历数据库表名,列名。不用写什么语句的。
ACCESS:
1 private readonly static string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.IO.Path.Combine(GetConfig.AppPath, GetConfig.ConnectString);
2 protected void Page_Load(object sender, EventArgs e)
3 {
4 OleDbConnection conn = new OleDbConnection(ConnectionString);
5 conn.Open();
6 DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
7 conn.Close();
8 GridView1.DataSource = dt;
9 GridView1.DataBind();
10 }
2 protected void Page_Load(object sender, EventArgs e)
3 {
4 OleDbConnection conn = new OleDbConnection(ConnectionString);
5 conn.Open();
6 DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,null);
7 conn.Close();
8 GridView1.DataSource = dt;
9 GridView1.DataBind();
10 }
以上取得了所有的表格,可以在GridView1里预览表格的各个属性。自己建立的表格就是TABLE_TYPE为Table的行对应的记录。很简单就能拿到所有的表格名。
效果如图:
得到所有的列名也类似,把OleDbSchemaGuid.Tables换成OleDbSchemaGuid.Columns就可以了。
代码:
private readonly static string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.IO.Path.Combine(GetConfig.AppPath, GetConfig.ConnectString);
protected void Page_Load(object sender, EventArgs e)
{
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();
DataTable dt = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Columns,null);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}效果:
获得列
private readonly static string ConnectionString = "Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=AMT;Data Source=(local);";
protected void Page_Load(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConnectionString);
conn.Open();
DataTable dt = conn.GetSchema("Columns",null);
conn.Close();
GridView1.DataSource = dt;
GridView1.DataBind();
}

浙公网安备 33010602011771号