PG中文社区 /
mdi-home
首页
社区新闻
中文文档
加入ACE
相关资料
mdi-chevron-down
{{ item.text }}
登录
mdi-home
首页
mdi-chat-processing
社区新闻
mdi-book-open-variant
中文文档
mdi-account-multiple-check
加入ACE
mdi-file-multiple-outline
相关资料
mdi-blank
{{item.text}}
mdi-exit-to-app
退出账号
首页
-->
有问有答
-->
内容问题
1836835420
postgresql提供了C语言的libpq接口 有表test((id int, ...
... 2016-08-23 11:14:26+08...1楼
postgresql提供了C语言的libpq接口 有表test((id int,name varchar) insert into test values(1056,'postgresa') insert into test values(1055,'postgresb') insert into test values(1057,'postgresc') 如果: 在C程序里面 paramValues[0] = "1056"; res = PQexecParams(conn,"select * from test where id = $1;",1,NUll,paramValues,NULL,NULL,0); 可以正常执行 如果 paramValues[0] = "id";(此处不让这个变量值为表中的一个值,而是赋值为一个字段的名字) res = PQexecParams(conn,"select * from test where $1 = 1056;",1,NULL,paramValues,NULL,NULL,0); 这样的话就无法正确执行了,会返回错误信息 The database operation failed : ERROR: invalid input syntax for integer: "id" 或者paramValues[0] = "id" res = PQexecParams(conn,"select * from test order by $1 asc;",1,NULL,paramValues,NULL,NULL,0); 输出的结果 id name 1056 postgresa 1055 postgresb 1057 postgresc 并没有进行排序 这样的话就是无法把字段值作为一个参数放到sql语句中了,不知道是我有的参数没有照顾到还是这样根本行不通,如果不行的话有没有什么解决的办法呢?
我的签名:
您还没有登录,请您登录后再发表回复
加入我们
QQ群1:5276420
QQ群2:3336901
QQ群3:254622631
文档群:150657323
文档翻译平台:
按此访问
社区邮件列表:
按此订阅
商业支持
成都文武信息技术有限公司
杭州乘数科技有限公司
阿里云
华为云
青云(北京优帆科技有限公司)
扫码关注
加入我们
QQ群1:5276420
QQ群2:3336901
QQ群3:254622631
文档群:150657323
文档翻译平台:
按此访问
社区邮件列表:
按此订阅
商业支持
成都文武信息技术有限公司
杭州乘数科技有限公司
阿里云
华为云
青云(北京优帆科技有限公司)
扫码关注
© PostgreSQL中文社区 ... (自2010年起)