继续跪求
string strconn = "Driver={PostgreSQL ANSI};Server=127.0.0.1;Port=5432;Database=VionCount;Uid=postgres;Pwd=chenqing5151!;";
OdbcConnection myConnection = new OdbcConnection(strconn);
myConnection.Open();
OdbcCommand cmd = null;
cmd = myConnection.CreateCommand();
cmd.CommandText = "{ CALL test()}";
cmd.ExecuteNonQuery();
我的存储过程是这样写的
CREATE OR REPLACE FUNCTION test()
RETURNS void AS
$BODY$
DECLARE
sql "varchar";
BEGIN
sql := "insert into test(id) values(4)";
EXECUTE sql;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE; 连接没有错,就是cmd.ExecuteNonQuery(); 的时候出错
求为什么错呢?怎么改呢~谢谢了
string strconn = "Driver={PostgreSQL ANSI};Server=127.0.0.1;Port=5432;Database=VionCount;Uid=postgres;Pwd=chenqing5151!;";
OdbcConnection myConnection = new OdbcConnection(strconn);
myConnection.Open();
OdbcCommand cmd = null;
cmd = myConnection.CreateCommand();
cmd.CommandText = "{ CALL test()}";
cmd.ExecuteNonQuery();
我的存储过程是这样写的
CREATE OR REPLACE FUNCTION test()
RETURNS void AS
$BODY$
DECLARE
sql "varchar";
BEGIN
sql := "insert into test(id) values(4)";
EXECUTE sql;
END;
$BODY$
LANGUAGE 'plpgsql' VOLATILE; 连接没有错,就是cmd.ExecuteNonQuery(); 的时候出错
求为什么错呢?怎么改呢~谢谢了
你可以先验证下你的存储过程是否创建成功
没写过你这样的存储过程
sql := "insert into test(id) values(4)";
EXECUTE sql;
cmd.CommandText = "{ CALL test()}";
该为
cmd.CommandText = "{ SELECT test()}";