类别:vs2003 C# 应用程序
---------------------------
data_type类型列表
备注:130
字符串:130
日期:7
数字:3
---------------------------
获得全部表
db db = new db(this.textBox1.Text);
System.Data.DataTable schemaTable = db.oleConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables,new Object[] {null, null, null, "TABLE"});
ArrayList ss = new ArrayList();
for(int i = 0;i<schemaTable.Rows.Count;i++)
{
ss.Add(schemaTable.Rows[i].ItemArray[2].ToString());
}
this.listBox1.DataSource = ss;
//System.Windows.Forms.MessageBox.Show(tableNames);
db.close();
------------------------------
获得全部字段
//System.Windows.Forms.MessageBox.Show(this.listBox1.SelectedValue.ToString());
db db = new db(this.textBox1.Text);
System.Data.DataTable schemaTable = db.oleConnection.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Columns,new Object[] {null, null, this.listBox1.SelectedValue.ToString() , null});
ArrayList ss = new ArrayList();
//这个是显示表的属性的:用在获得表的里面的。。因为OleDbSchemaGuid.Tables被改为OleDbSchemaGuid.Columns了。。
// for(int i = 0;i<schemaTable.Columns.Count;i++)
// {
// ss.Add(schemaTable.Columns[i].ToString());
// }
//这个是显示列的
for(int i=0;i<schemaTable.Rows.Count;i++)
{
ss.Add(schemaTable.Rows[i].ItemArray[3].ToString()+" : "+schemaTable.Rows[i].ItemArray[11].ToString());
}
this.listBox2.DataSource = ss;
//System.Windows.Forms.MessageBox.Show(tableNames);
db.close();
-----------------------------------------
db类
public OleDbConnection oleConnection;
public db(string ConnString)
{
try
{
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data source="+ConnString;
oleConnection = new OleDbConnection(ConnString);
oleConnection.Open();
//System.Windows.Forms.MessageBox.Show("数据库已连接!");
}
catch
{
System.Windows.Forms.MessageBox.Show("数据库连接错误!");
}
}
public void close()
{
oleConnection.Close();
//System.Windows.Forms.MessageBox.Show("数据库已关闭!");
}
-----------------------------------
资料参考1:
将 Access 数据库的表结构信息读出来的方法
http://www.why100000.com/Htmls/tabAspNet213.htm
资料参考2:
C# 使用 GetOleDbSchemaTable 检索架构信息(表、列、主键等)
http://www.cnitblog.com/yhf119/archive/2008/01/16/38926.html