我想讀從表中使用噴SQL查詢的列名讀取列名。數據表保存在ms-access 2002-2003兼容模式下。我已經嘗試了幾個變體的查詢,但我似乎無法得到正確的語法。如何使用SQL
DatabaseConnection("SELECT Column_name" & " FROM " & tablename, "Read Recordset")
DatabaseConnection("select column_name from information_schema.columns where table_name = tabDataHourly", "read Recordset")
我有一個運行的數據庫連接的功能: 公共功能的DatabaseConnection(BYVAL查詢作爲字符串,BYVAL任務作爲字符串)作爲字符串 「對錯誤轉到ERR
cnnOLEDB = New OleDbConnection
cnnOLEDB.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DataDirectoryName & DatabaseFileName
cnnOLEDB.Open()
cmdOLEDB.Connection = cnnOLEDB
cmdOLEDB.CommandText = Query
Select Case Task
Case "Read Recordset"
rdrOLEDB = cmdOLEDB.ExecuteReader()
DatabaseConnection = "Read Recordset"
Case "Read Scalar"
DatabaseConnection = cmdOLEDB.ExecuteScalar
Case "Non-Query"
cmdOLEDB.ExecuteNonQuery()
DatabaseConnection = "Non-Query"
End Select
Exit Function
Err:
MsgBox("Database connection error.")
DatabaseConnection = "Error"
End Function
任何幫助將不勝感激。
如果你想要的是一列的名稱,你可以從rdrOLEDB.GetName OT得到(0),其中0是列(字段)編號,否則從連接中獲取模式。請注意,有些連接會爲Memo返回錯誤的類型。在這裏看到一個模式例如http://stackoverflow.com/questions/5065086/vb-net-how-can-i-check-if-a-primary-key-exists-in-an-access-db – Fionnuala
我會像所有的列名,表中的列數將改變,因此它不能在硬接線。 – Pezzzz
你可以從我運行= 0至rdrOLEDB.FieldCount-1我在下面加了註釋。 – Fionnuala