Sum*_*mar 4 postgresql procedure npgsql
我正在将 PostgreSQL pgadmin4 (4.16v) 与 ASP.NET 应用程序一起使用。我创建了一个如下定义的过程:
CREATE OR REPLACE PROCEDURE public.usp_bind(
)
LANGUAGE 'plpgsql'
AS $BODY$
BEGIN
select district_id,district_name from district_master order by district_name;
END;
$BODY$;
Run Code Online (Sandbox Code Playgroud)
从asp.net应用程序我调用了上面的过程,代码如下:
NpgsqlConnection conn = new NpgsqlConnection();
NpgsqlDataAdapter da = new NpgsqlDataAdapter();
NpgsqlCommand cmd = new NpgsqlCommand();
DataSet ds = new DataSet();
public string dbconstr = dbConnectstr.Connectionstring();
public DataSet getDatafunction(string procedure_, [Optional] string flag_)
{
using (conn = new NpgsqlConnection(dbconstr))
{
//conn.Open();
using (da = new NpgsqlDataAdapter())
{
da.SelectCommand.CommandType = CommandType.StoredProcedure;
da.SelectCommand.CommandText = "CALL usp_bind";
da.SelectCommand.Connection = conn;
using (ds = new DataSet())
{
da.Fill(ds);
}
}
//conn.Close();
}
return ds;
}
Run Code Online (Sandbox Code Playgroud)
它给我一个错误 - 42809: 'usp_bind' 是一个过程。
我也会使用一种CALL方法来调用它,但没有成功。从 ASP.NET 应用程序调用过程的确切方法是什么?
不要听从CommandType.StoredProcedure你的命令。
不幸的是,存储过程是新的,并且CommandType.StoredProcedure已经用于调用函数,并且在这一点上改变它将是一个重大的破坏性改变。
| 归档时间: |
|
| 查看次数: |
7488 次 |
| 最近记录: |