sql - 使用 VB.Net 在 Excel 中使用 WHERE SQL 命令
问题描述
我在 VB.Net 中构建 SQL 命令时遇到困难,其中我的项目通过 OLEDB 连接到 Excel。
Select * From [Sheet$]
此 SQL 命令有效,但每当我尝试添加另一个 SQL 命令WHERE
以便过滤数据时,我只想显示。我的 excel 文件中有标题,Name
标题是第 4 列,相当于 Column letter: D
。
Select * From [Sheet$] Where Name='Xander'
它不起作用,它什么也没显示。'WHERE
Excel 到 OLEDB 连接的正确SQL 命令是什么?
顺便说一句,这是我正在处理的代码
Dim conn As OleDbConnection
Dim adapt As OleDbDataAdapter
Dim dts As DataSet
Dim excel As String = My.Settings.DefaultDirectory
conn = New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + excel + ";Extended Properties=Excel 12.0;")
conn.Open()
adapt = New OleDbDataAdapter("Select * from [Sheet$] where NAME='Xander'", conn)
dts = New DataSet
adapt.Fill(dts, "[Sheet$]")
DataGridView1.DataSource = dts
DataGridView1.DataMember = "[Sheet$]"
conn.Close()
解决方案
您需要在列名周围加上方括号以对其进行转义。AlsoName
是一个保留字,所以你必须转义它。
Select * from [Sheet$] Where [NAME]='Xander'
推荐阅读
- linux - 动态替换标准输出中的字符
- python - 为什么 python openCV 不以我期望的方式更改背景颜色?
- php - 如何将从数据库中获取的两个 $row 值相乘?
- sql - 加入选定的位数
- delphi - HTTPRio.HTTPWebNode.OnBeforePost 在 Delphi 10.3 中更改,丢失参数数据
- python-2.7 - Python:比较函数返回的两个数字(元组)的简单方法是什么?
- c# - 将单个或多个项目添加到列表
- ruby-on-rails - 渲染 json Encoding::UndefinedConversionError ("\xC3" 从 ASCII-8BIT 到 UTF-8)
- json - 使用 Echo 或 Gin 框架的大数组的内存消耗
- php - PHP - WHERE 连接中的 MYSQL 未知列