VB.NET - 从mdb中获取所有列名的清晰列表的任何方法? (访问数据库)
问题描述:
我有一个Access数据库中的表,我正在加载到一个VB.NET程序,我想要一种方法来获取每个列的名称到一个字符串列表。谷歌搜索表明,使用SQL数据库要容易得多,但在Access中这样做要困难得多。VB.NET - 从mdb中获取所有列名的清晰列表的任何方法? (访问数据库)
我遇到了这个问题Is there a query that will return all of the column names in a Microsoft Access table?这提供了一种方式来做到这一点,但是当我尝试的代码,它只是填充我的名单和一帮“System.Collections.Generic.List'1 [System.String]”
这是我改编的代码。任何修复建议或更好的方法来做到这一点?
Public Function GetColumns(ByRef database As String, ByRef table_name As String, ByRef columns As List(Of String)) As Integer
Dim com As OleDbConnection
Try
com = New OleDbConnection(database)
com.Open()
Catch ex As Exception
Return 1
End Try
Dim restrictions As String() = New String() {Nothing, Nothing, table_name, Nothing}
Dim dt As DataTable = com.GetSchema("Columns", restrictions)
com.Close()
For Each DR As DataRow In dt.Rows
columns.Add(DR("Column_Name").ToString)
Next
For Each holding As String In columns
Console.WriteLine(columns)
Next
End Function
编辑:哈,我讨厌当我做出愚蠢的错误在其他地方的功能,这让我想到了功能的肉不工作的写入。我的每个循环都不打印正确的字符串。应Console.WriteLine(控股)
答
尝试改变
For Each holding As String In columns
Console.WriteLine(columns)
Next
至
For Each holding As String In columns
Console.WriteLine(holding)
Next
jejeje我正在看你的代码5分钟,也没有看到它:D – Jonathan 2011-06-16 14:27:27