postgresql中存储过程执行

pgadmin中创建一个函数

CREATE OR REPLACE FUNCTION adddata(txt1 text, txt2 text)
  RETURNS void AS
'insert into table1(test1,test2) values($1,$2)'
  LANGUAGE sql VOLATILE
  COST 100;
ALTER FUNCTION adddata(text, text) OWNER TO postgres;
然后我用libpq方式连接
char pSql[200];
memset(pSql,0,sizeof(pSql));
sprintf(pSql,"INSERT INTO table1(test1, test2) VALUES ('%s我', '%s')",str1,str1); PGresult *result = PQexec(m_conn, pSql);
普通的插入方式是可以的
但是这种执行过程的方式是不行的
char pSql[200];
memset(pSql,0,sizeof(pSql));
sprintf(pSql,"select adddata('%s','%s')",str1,str1); PGresult *result = PQexec(m_conn, pSql);
但是在pgadmin这个管理器中 执行select adddata('111','1111111')测试完全没有问题 求达人解 马上结贴

作者: qq727791967   发布时间: 2011-05-07

自己解决了。。。

作者: qq727791967   发布时间: 2011-05-07