예제 #1
0
 private void OnQueryExecuted(ScriptStatement statement)
 {
     if (this.StatementExecuted != null)
     {
         MySqlScriptEventArgs args = new MySqlScriptEventArgs();
         args.Statement = statement;
         this.StatementExecuted(this, args);
     }
 }
예제 #2
0
        private List <ScriptStatement> BreakIntoStatements(bool ansiQuotes, bool noBackslashEscapes)
        {
            int startIndex = 0;
            List <ScriptStatement> list        = new List <ScriptStatement>();
            List <int>             lineNumbers = this.BreakScriptIntoLines();
            SqlTokenizer           tokenizer   = new SqlTokenizer(this.query);

            tokenizer.AnsiQuotes       = ansiQuotes;
            tokenizer.BackslashEscapes = !noBackslashEscapes;
            for (string str = tokenizer.NextToken(); str != null; str = tokenizer.NextToken())
            {
                if (!tokenizer.Quoted && !tokenizer.IsSize)
                {
                    int index = str.IndexOf(this.Delimiter);
                    if (index != -1)
                    {
                        int num3 = (tokenizer.Index - str.Length) + index;
                        if (tokenizer.Index == (this.query.Length - 1))
                        {
                            num3++;
                        }
                        string          str2 = this.query.Substring(startIndex, num3 - startIndex);
                        ScriptStatement item = new ScriptStatement();
                        item.text     = str2.Trim();
                        item.line     = this.FindLineNumber(startIndex, lineNumbers);
                        item.position = startIndex - lineNumbers[item.line];
                        list.Add(item);
                        startIndex = num3 + this.delimiter.Length;
                    }
                }
            }
            if (tokenizer.Index > startIndex)
            {
                string str3 = this.query.Substring(startIndex).Trim();
                if (!string.IsNullOrEmpty(str3))
                {
                    ScriptStatement statement2 = new ScriptStatement();
                    statement2.text     = str3;
                    statement2.line     = this.FindLineNumber(startIndex, lineNumbers);
                    statement2.position = startIndex - lineNumbers[statement2.line];
                    list.Add(statement2);
                }
            }
            return(list);
        }
예제 #3
0
 private List<ScriptStatement> BreakIntoStatements(bool ansiQuotes, bool noBackslashEscapes)
 {
     int startIndex = 0;
     List<ScriptStatement> list = new List<ScriptStatement>();
     List<int> lineNumbers = this.BreakScriptIntoLines();
     SqlTokenizer tokenizer = new SqlTokenizer(this.query);
     tokenizer.AnsiQuotes = ansiQuotes;
     tokenizer.BackslashEscapes = !noBackslashEscapes;
     for (string str = tokenizer.NextToken(); str != null; str = tokenizer.NextToken())
     {
         if (!tokenizer.Quoted && !tokenizer.IsSize)
         {
             int index = str.IndexOf(this.Delimiter);
             if (index != -1)
             {
                 int num3 = (tokenizer.Index - str.Length) + index;
                 if (tokenizer.Index == (this.query.Length - 1))
                 {
                     num3++;
                 }
                 string str2 = this.query.Substring(startIndex, num3 - startIndex);
                 ScriptStatement item = new ScriptStatement();
                 item.text = str2.Trim();
                 item.line = this.FindLineNumber(startIndex, lineNumbers);
                 item.position = startIndex - lineNumbers[item.line];
                 list.Add(item);
                 startIndex = num3 + this.delimiter.Length;
             }
         }
     }
     if (tokenizer.Index > startIndex)
     {
         string str3 = this.query.Substring(startIndex).Trim();
         if (!string.IsNullOrEmpty(str3))
         {
             ScriptStatement statement2 = new ScriptStatement();
             statement2.text = str3;
             statement2.line = this.FindLineNumber(startIndex, lineNumbers);
             statement2.position = startIndex - lineNumbers[statement2.line];
             list.Add(statement2);
         }
     }
     return list;
 }
예제 #4
0
 private void OnQueryExecuted(ScriptStatement statement)
 {
     if (this.StatementExecuted != null)
     {
         MySqlScriptEventArgs args = new MySqlScriptEventArgs();
         args.Statement = statement;
         this.StatementExecuted(this, args);
     }
 }