ExecuteNext(IDataReader) Method
Executes the next statement from the script.
Parameters
- reader
- DbDataReaderBase to store result set.
Return Value
true if there are more statements to execute; otherwise, false.
This sample demonstrates how to execute script and retrieve information about how many records were affected by a statement. For statements that return a result set the first column is written to console.
string script =
"DROP TABLE DEPT;"+
"CREATE TABLE DEPT ("+
" DEPTNO INT PRIMARY KEY,"+
" DNAME VARCHAR(14),"+
" LOC VARCHAR(13)"+
")WITH OIDS;"+
"INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');"+
"INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');"+
"INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');"+
"INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');"+
"SELECT * FROM DEPT";
PgSqlConnection pgConn = new PgSqlConnection(
"host=server;database=test;user id=postgres;");
PgSqlScript pgScript = new PgSqlScript(script,pgConn);
IDataReader pgReader;
pgConn.Open();
while (pgScript.ExecuteNext(out pgReader))
{
Console.WriteLine("Records affected " + pgReader.RecordsAffected);
while (pgReader.Read())
{
Console.WriteLine(pgReader.GetString(0));
}
pgReader.Close();
}
pgConn.Close();
Dim script As String = _
"DROP TABLE DEPT;" & _
"CREATE TABLE DEPT (" & _
" DEPTNO INT PRIMARY KEY," & _
" DNAME VARCHAR(14)," & _
" LOC VARCHAR(13)" & _
")WITH OIDS;" & _
"INSERT INTO DEPT VALUES (10,'ACCOUNTING','NEW YORK');" & _
"INSERT INTO DEPT VALUES (20,'RESEARCH','DALLAS');" & _
"INSERT INTO DEPT VALUES (30,'SALES','CHICAGO');" & _
"INSERT INTO DEPT VALUES (40,'OPERATIONS','BOSTON');" & _
"SELECT * FROM DEPT"
Dim pgConn As PgSqlConnection = New PgSqlConnection( _
"host=server;database=test;user id=postgres;")
Dim pgScript As PgSqlScript = New PgSqlScript(script, pgConn)
Dim pgReader As IDataReader
pgConn.Open()
While (pgScript.ExecuteNext(pgReader))
Console.WriteLine("Records affected " & pgReader.RecordsAffected)
While pgReader.Read()
Console.WriteLine(pgReader.GetString(0))
End While
pgReader.Close()
End While
pgConn.Close()