Parse(String,ParserBehavior) Method
Converts the specified SELECT statement to a
MySqlSelectStatement object.
Parameters
- text
- The statement to parse.
- behavior
- One of the Devart.Common.ParserBehavior values. Determines what parts of the statement to analyze.
Return Value
A
MySqlSelectStatement object that represents the specified SELECT statement.
The following example demonstrates how to use the
Parse(String,ParserBehavior) method.
static void PrintTables(string query) {
MySqlSelectStatement stmt = MySqlSelectStatement.Parse(query, ParserBehavior.Tables);
Console.WriteLine("{0} tables:", stmt.Tables.Count);
foreach (SelectTable st in stmt.Tables)
Console.WriteLine("Table {0} in {1}", st.Name, st.Schema);
}
PrintTables("SELECT TABLE_NAME FROM information_schema.`TABLES` ORDER BY TABLE_NAME");
PrintTables("SELECT ENAME, JOB, DNAME FROM test.emp, test.dept WHERE emp.DEPTNO = dept.DEPTNO");
PrintTables("SELECT query_time, Execute_priv, body FROM mysql.slow_log, mysql.host, mysql.event");
//Output
//1 tables:
//Table `TABLES` in information_schema
//2 tables:
//Table emp in test
//Table dept in test
//3 tables:
//Table slow_log in mysql
//Table host in mysql
//Table event in mysql
Private Shared Sub PrintTables(ByVal query As String)
Dim stmt As MySqlSelectStatement = MySqlSelectStatement.Parse(query, ParserBehavior.Tables)
Console.WriteLine("{0} tables:", stmt.Tables.Count)
Dim st As SelectTable
For Each st In stmt.Tables
Console.WriteLine("Table {0} in {1}", st.Name, st.Schema)
Next
End Sub
Form1.PrintTables("SELECT TABLE_NAME FROM information_schema.`TABLES` ORDER BY TABLE_NAME")
Form1.PrintTables("SELECT ENAME, JOB, DNAME FROM test.emp, test.dept WHERE emp.DEPTNO = dept.DEPTNO")
Form1.PrintTables("SELECT query_time, Execute_priv, body FROM mysql.slow_log, mysql.host, mysql.event")
'Output
'1 tables:
'Table `TABLES` in information_schema
'2 tables:
'Table emp in test
'Table dept in test
'3 tables:
'Table slow_log in mysql
'Table host in mysql
'Table event in mysql