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 IF EXISTS DEPT;"+
"CREATE TABLE DEPT ("+
" DEPTNO INT PRIMARY KEY,"+
" DNAME VARCHAR(14),"+
" LOC VARCHAR(13)"+
") TYPE = InnoDB;"+
"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";
MySqlConnection myConn = new MySqlConnection(
"User Id=root;Host=localhost;Database=Test;");
MySqlScript myScript = new MySqlScript(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 IF EXISTS DEPT;" & _
"CREATE TABLE DEPT (" & _
" DEPTNO INT PRIMARY KEY," & _
" DNAME VARCHAR(14)," & _
" LOC VARCHAR(13)" & _
") TYPE = InnoDB;" & _
"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 MySqlConnection = New MySqlConnection( _
"User Id=root;Host=localhost;Database=Test;")
Dim myScript As MySqlScript = New MySqlScript(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()