private void CheckSyntax() { MySqlConnection con = ( MySqlConnection )GetCurrentConnection(); string sql = _editor.Text.Trim(); StringBuilder sb; LanguageServiceUtil.ParseSql(sql, false, out sb, con.ServerVersion); if (sb.Length != 0) { throw new Exception(string.Format("Syntax Error: {0}", sb)); } }
/// <summary> /// Event delegate method fired when the <see cref="RunScriptToolStripButton"/> is clicked. /// </summary> /// <param name="sender">Sender object.</param> /// <param name="e">Event arguments.</param> private void RunScriptToolStripButton_Click(object sender, EventArgs e) { string sql = CodeEditor.Text.Trim(); ClearResults(); string[] sqlStmt = sql.BreakIntoSqlStatements().ToArray(); int ctr = 1; using (var mySqlConnection = new MySqlConnection(Connection.ConnectionString)) { using (var mySqlParser = new MySqlWbParser(mySqlConnection)) { for (int sqlIdx = 0; sqlIdx <= sqlStmt.Length - 1; sqlIdx++) { // Check syntax if (!mySqlParser.CheckSyntax(sqlStmt[sqlIdx])) { WriteToMySqlOutput(sqlStmt[sqlIdx], Resources.SyntaxErrorsFoundMessage + mySqlParser.ErrorMessagesInSingleText, null, MessageType.Error); return; } // Check if statement returns a result set. bool isResultSet = LanguageServiceUtil.DoesStmtReturnResults(sqlStmt[sqlIdx], (MySqlConnection)Connection); if (isResultSet) { ExecuteSelect(sqlStmt[sqlIdx], ctr); ctr++; } else { ExecuteScript(sqlStmt[sqlIdx]); } } } } StoreCurrentDatabase(); }
protected override string GetCurrentName() { return(LanguageServiceUtil.GetRoutineName(_editor.Text)); }