sql – 使用vba在ms access 2003中的参数化查询

前端之家收集整理的这篇文章主要介绍了sql – 使用vba在ms access 2003中的参数化查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
好.我想使用参数化查询来避免在我的数据中处理嵌入的双引号或单引号(“或”).

举个简单的例子,VBA代码对于参数化的版本是什么样的?

Dim qstr as String

Dim possiblyDangerousString as String

qstr = "SELECT MyTable.LastName from MyTable WHERE MyTable.LastName = '" & possiblyDangerousString & "';"

我没有从我的代码中剪切和粘贴它(现在在另一个盒子上),所以可能会有拼写错误.

一旦我弄清楚这个简单的例子,我需要转向更复杂的语句(多个参数和连接).
谢谢你的建议

解决方法

在VBA中,您可以使用以下内容
Dim db As DAO.Database
Dim qdf As QueryDef
Dim strsql as String

Set db = CurrentDb
strsql = "PARAMETERS txtLastName Text(150); " _
    & "SELECT LastName FROM MyTable " _
    & "WHERE LastName=txtLastName"

''Create a temporary query 
Set qdf = db.CreateQueryDef("",strsql)

qdf.Parameters!txtLastName = Trim(possiblyDangerousString)

这个例子用处不大,因为你现在要对查询做些什么呢?请注意,您可以存储参数查询并在VBA中分配参数.另请注意,备注字段会成为问题,因为参数只能接受255个字符.

猜你在找的MsSQL相关文章