我有一个插入语句:
INSERT INTO billData (
tmStart, tsDuration, eCallDir, ...
) VALUES (
$1, -- tmStart
$2, -- tsDuration
$3, -- eCallDir
...
);
我SQLPrepare
用来编译,绑定参数SQLBindParameter
,执行SQLExecute
。
在所有这些步骤之后,返回错误代码42P02
(没有参数 $1)。
顺便说一句:我也在为 MS SQL Server 和 MySQL 使用几乎相同的代码,这两个数据库运行良好,所以我相信我的代码是正确的。
PS:PostgreSQL是v9.1;psqlODBC 是 v9.01.0100-1。
==================================================== ==========
更新:
并且发生以下错误:(42601
在“,”或附近出现语法错误)当我使用“?”时 作为参数占位符:
INSERT INTO billData (
tmStart, tsDuration, eCallDir, ...
) VALUES (
?, -- tmStart
?, -- tsDuration
?, -- eCallDir
...
);
==================================================== ==========
更新:
根据 jwr 的建议,它在向UseServerSidePrepare=1
ODBC 连接字符串添加选项后起作用。
非常感谢 :-)