'Declaration Public Overloads Function GetDataReader() As PgSqlDataReader
public PgSqlDataReader GetDataReader()
Return Value
The PgSqlDataReader for the cursor.
'Declaration Public Overloads Function GetDataReader() As PgSqlDataReader
public PgSqlDataReader GetDataReader()
CREATE OR REPLACE FUNCTION refcursorfunc(OUT p refcursor) AS $BODY$ DECLARE v_refcursor refcursor; BEGIN OPEN v_refcursor FOR SELECT deptno FROM dept; p := v_refcursor; END; $BODY$ LANGUAGE 'plpgsql' VOLATILE;
PgSqlCommand cmd = new PgSqlCommand("refcursorfunc"); cmd.Connection = myConnection; cmd.CommandType = CommandType.StoredProcedure; cmd.ParameterCheck = true; myConnection.Open(); PgSqlTransaction t = myConnection.BeginTransaction(); try { cmd.ExecuteNonQuery(); PgSqlCursor cursor = cmd.Parameters["p"].PgSqlValue as PgSqlCursor; using (PgSqlDataReader rd = cursor.GetDataReader()) { while (rd.Read()) Console.WriteLine(rd.GetValue(0)); } } finally { t.Commit(); myConnection.Close(); }
Dim cmd As New PgSqlCommand("refcursorfunc") cmd.Connection = (Me.myConnection) cmd.CommandType = CommandType.StoredProcedure cmd.ParameterCheck = True Me.myConnection.Open() Dim t As PgSqlTransaction = Me.myConnection.BeginTransaction Try cmd.ExecuteNonQuery() Dim cursor As PgSqlCursor = TryCast(cmd.Parameters("p").PgSqlValue, PgSqlCursor) Using rd As PgSqlDataReader = cursor.GetDataReader Do While rd.Read Console.WriteLine(rd.GetValue(0)) Loop End Using Finally t.Commit() Me.myConnection.Close() End Try
Target Platforms: Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2