用于读取第一行中的所有列的SQL命令
我有一个Excel工作表,其中第一行包含所有列的标题。 我想要第一行的所有名字。
什么是读取第一行所有条目的SQL命令?
如果可能,我想定义最大限制。
另外:我想枚举所有的列名。
这在Excel中使用已保存的工作簿,并枚举列(字段)名称。
Sub ListFieldADO() strFile = Workbooks(1).FullName strCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strFile _ & ";Extended Properties=""Excel 8.0;HDR=Yes;IMEX=1"";" Set cn = CreateObject("ADODB.Connection") cn.Open strCon ''You can also use the name of a named range Set rs = cn.OpenSchema(adSchemaColumns, _ Array(Empty, Empty, "Sheet1$")) While Not rs.EOF Debug.Print " " & rs!Column_Name rs.MoveNext Wend rs.Close Set rs = Nothing End Sub
你需要提到“HDR = No” 在你的连接string。 那么你可以使用下面的查询:
Select Top 1 * from [SheetName$]
“HDR = No”将指定第一行不包含列名称。
据说,我不知道是否有一个SQL语句从表中获取列名。 如果存在,则可以在连接string中使用HDR = Yes,并使用该SQL语句。
我希望我理解这个权利….但我想你是说你想从表中select列名称:
SELECT * FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = [YourTableName]
Select Top 1 * into #temp from [SheetName$] use tempdb sp_help #temp.
通过这个,你可以得到#temp
表的列名。 再次,您必须将数据库更改为:
use yourDBName
把数据放在一个临时表中,读取临时表的属性,从中可以得到列名的列表。