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 NUMBER(38) NOT NULL,"+
" DNAME VARCHAR2(14),"+
" LOC VARCHAR2(13)"+
");"+
"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";
OracleConnection myConn = new OracleConnection(
"User Id=Scott;Password=tiger;Data Source=Ora;");
OracleScript myScript = new OracleScript(script,myConn);
IDataReader myReader;
myConn.Open();
while (myScript.ExecuteNext(out myReader))
{
Console.WriteLine("Records affected " + myReader.RecordsAffected);
while (myReader.Read())
{
Console.WriteLine(myReader.GetString(0));
}
myReader.Close();
}
myConn.Close();
Dim script As String = _
"DROP TABLE DEPT;" & _
"CREATE TABLE DEPT (" & _
" DEPTNO NUMBER(38) NOT NULL," & _
" DNAME VARCHAR2(14)," & _
" LOC VARCHAR2(13)" & _
");" & _
"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 myConn As OracleConnection = New OracleConnection( _
"User Id=Scott;Password=tiger;Data Source=Ora;")
Dim myScript As OracleScript = New OracleScript(script, myConn)
Dim myReader As IDataReader
myConn.Open()
While (myScript.ExecuteNext(myReader))
Console.WriteLine("Records affected " & myReader.RecordsAffected)
While myReader.Read()
Console.WriteLine(myReader.GetString(0))
End While
myReader.Close()
End While
myConn.Close()