c# - C# 中的连接与 Access 数据库的 SQL 查询

标签 c# sql ms-access

我有一个带 C# 的 Access Db,我在 sql 查询中执行 where 子句后的连接,但出现以下错误

“查询表达式中的语法错误(缺少运算符)”

我的代码如下

cmd.CommandText = "Select * from TEMP1 WHERE EMAIL=" + GlobalData.Email; 

请告诉我导致错误的原因以及连接的正确语法是什么。

最佳答案

你最好使用SqlParameter(更安全):

SqlCommand cmd = new SqlCommand("SELECT * FROM Temp1 WHERE Email LIKE @email")
cmd.Parameters.Add(new SqlParameter("email", GlobalData.Email));

回答原始问题:

使用直接连接,没有字符串分隔符,您的查询变为:

SELECT * FROM Temp1 WHERE Email LIKE email@email.com

代替

SELECT * FROM Temp1 WHERE Email LIKE 'email@email.com'

关于c# - C# 中的连接与 Access 数据库的 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8688348/

相关文章:

C# HtmlAgilityPack HtmlDocument() LoadHtml编码

c# - 创建一个简单的异步工作流事件

c# - 这是在方法和类上创建和使用自定义属性的正确方法吗?

sql - Django多对多: Best way to get elements in one related query set but exclude elements in other related query sets?

mysql - 获取 MySQL View 上一行的值

c# - 寻找领域事件的例子

mysql - 单个 mysql 选择连接表到 json 分层片段,怎么样?

sql - 数据库设计 - 实体属性值 (EAV) 的替代方案

mysql - sql多对多关系只有2个表

ms-access - MS Access 2007 - 查询表达式中接收语法错误