gpt4 book ai didi

sql - 使用vba在ms access 2003中进行参数化查询

转载 作者:行者123 更新时间:2023-12-02 07:53:24 25 4
gpt4 key购买 nike

好的。我想使用参数化查询来避免处理数据中嵌入的双引号或单引号("或 ')。

作为一个简单的例子,对于这个参数化的版本,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 个字符。

关于sql - 使用vba在ms access 2003中进行参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2315630/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com