我有一个csv,需要将其解析为vb.net中的gridview。如果我执行SELECT *,我将获得没有问题的数据。但是,我处于需要引用实际列名的情况。问题是,我无法控制生成csv的应用程序,并且它们将列名称括在方括号中。
我该怎么做这样的事情:
Dim cmdSelect As New OleDbCommand(SELECT "[name], [height] FROM myTable")
这样我就可以得到数据返回了吗?
因此,为了使您完全清楚:我有一个应用程序在名为myTable的表中创建带有列标题[name]和[height]的csv,而对于我来说,我一生都无法弄清楚该如何返回特别是[名称]和[高度]。
如果列名称带有方括号,则可以使用双引号将列名称引起来。下面的示例在SQL Server中进行了测试。
剧本 :
CREATE TABLE dbo.myTable ( "[name]" varchar(max) not null , "[height]" int not null );
查询所有列 :
SELECT * FROM dbo.myTable
仅查询特定列 :
SELECT "[name]", "[height]" FROM dbo.myTable
VB.NET代码-示例1 :
Dim query As String = String.Format("SELECT {0}{1}{0}, {0}{2}{0} FROM dbo.myTable", """", "[name]", "[height]") Dim cmdSelect As New OleDbCommand(query)
VB.NET代码-示例2 :
Dim query As String = String.Format("SELECT {0}[name]{0}, {0}[height]{0} FROM dbo.myTable", """") Dim cmdSelect As New OleDbCommand(query)