十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
sql = "select name from sysobjects where type='U'"
创新互联企业建站,10年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于成都做网站、成都网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
获取所有表名,然后再遍历每个表的字段,获取字段名
呵呵,刚刚做这个,就借花献佛了
/// summary
/// 获得当前Access数据库的表
/// /summary
/// param name="Source"/param
/// returns/returns
public ArrayList DataScoreTableName(string Source)
{
ArrayList TableName = new ArrayList();
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Source;
OleDbConnection conn = new OleDbConnection(ConnectionString);
conn.Open();
DataTable schemaTable = conn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables,new object[] { null, null, null, "TABLE"});
foreach (DataRow dr in schemaTable.Rows)
{
TableName.Add(dr["TABLE_NAME"]);
}
conn.Close();
return TableName;
}
access数据库中所有的表名都存在一个叫做MSysObjects的表中了,所以在这个表中查询就可以了。以下是代码:
Dim L_dadap As New OleDb.OleDbDataAdapter("select * from MSysObjects ", L_conn)
Dim L_dtable As New DataTable
L_dadap.Fill(L_dtable)
Dim TabName(L_dtable.Rows.Count - 1)
For i = 0 To L_dtable.Rows.Count - 1
TabName(i) = L_dtable.Rows(i).Item("name")
Next
首先在项目的VB.NET界面,使用菜单【项目】--【添加引用】--【COM】
选择 Microsoft ADO Ext. 2.x for DDL and Security
然后单击【确定】,完成引用。
完整代码如下:
Imports ADOX
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'创建空的access数据库文件--数据库文件.mdb,密码为123
Dim Mycat As Catalog = New Catalog()
Mycat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Engine Type=5;Data Source= 数据库文件.mdb;Jet OLEDB:Database Password=123")
'以下代码创建一个名为“实验数据表”
Dim MyTable As ADOX.Table = New ADOX.Table '定义新表
MyTable.Name = "实验数据表" '表命名
'给表“实验数据表” 创建一个字符串字段,字段名“姓名”
MyTable.Columns.Append("姓名", , ADOX.DataTypeEnum.adWChar)
'给表“实验数据表” 创建一个整数字段,字段名“学号”
MyTable.Columns.Append("学号", ADOX.DataTypeEnum.adInteger) '追加一个数字型字段
'给字段“学号”创建一个主键“PimaryKey_Field”
MyTable.Keys.Append("学号", ADOX.KeyTypeEnum.adKeyPrimary, "学号")
Mycat.Tables.Append(MyTable) '把所有的新字段追加到表
MyTable = Nothing
Mycat = Nothing
End Sub
End Class
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim cstring As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=e:\database\database1.mdb"
Dim con As New OleDb.OleDbConnection(cstring)
Dim sql As String = "select 姓名 from 学生信息表"
con.Open()
Dim cmd As New OleDb.OleDbCommand(sql, con)
Dim myreader As OleDbDataReader = cmd.ExecuteReader
Do While myreader.Read
ListBox1.Items.Add(myreader(0))
Loop
End Sub