我正在测试一个简单的查询,以从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,所以习惯于做以下事情:
可以在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语句中添加问号(?)。