我正在测试一个简单的查询以从 AS400 数据库中获取数据。 我不确定我使用 SQL 查询的方式是否正确。
我得到一个错误:“参数不正确。”
Select FIELD1, FIELD2 From Mylibrary.MyTable WHERE FIELD1 = @Field1
当我运行以下查询时,我没有收到错误消息:
Select FIELD1, FIELD2 From Mylibrary.MyTable WHERE FIELD1 = 'myvalue'
我正在使用 ADODB、VBScript 进行测试。
Set Param1 = cmd.CreateParameter("@Field1", 129, 1, 9, "myvalue") ' 129 String
cmd.Parameters.Append Param1
我来自 MS Sql 环境,所以为 AS400 编写代码对我来说是全新的。
谢谢
最佳答案
好的,我通过反复尝试不同的方法得到了解决方案。
正如我之前所说,我习惯于使用 OLEDB 和 ADO.Net,所以我习惯于执行以下操作:
Select FIELD1, FIELD2 From Mylibrary.MyTable WHERE FIELD1 = @Field1
在 Access 和 SQL Server 中工作但在 AS/400 中不工作。
我得到了以下的工作:
Select FIELD1, FIELD2 From Mylibrary.MyTable WHERE FIELD1 = ?
cmd.ActiveConnection = connstr
cmd.CommandType = 1'4 'Stored Procedures '1 Text
cmd.CommandText = sql
Set Param1 = cmd.CreateParameter("@Field1", 129, 1, 9, "myvalue") ' 129 String
cmd.Parameters.Append Param1
Set rs = cmd.Execute()
这都是 VbScript。诀窍是在 sql 语句中添加问号 (?)。
关于sql - 带参数的 AS400 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/493119/