コード例 #1
0
ファイル: DB338.cs プロジェクト: steeeve/DB338
        public QueryResult SubmitQuery(string query)
        {
            TextReader scriptText = new StringReader(query);

            List <string> tokens = sqlParser.Parse(scriptText);

            //sqlParser.Parse will always return the tokens of the query if accepted
            //the TYPE of the query is passed into the transaction manager, so you know what to check

            string queryType = tokens[tokens.Count - 4];
            string done      = tokens[tokens.Count - 3];
            string accepted  = tokens[tokens.Count - 2];
            string error     = tokens[tokens.Count - 1];

            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);

            if (accepted == "True")
            {
                string[,] results = transactionMgr.Process(tokens, queryType);
                QueryResult queryResult = new QueryResult(queryType, done, accepted, error);
                queryResult.Results = results;
                return(queryResult);
            }
            else
            {
                //error
                QueryResult queryResult = new QueryResult(queryType, done, accepted, error);
                queryResult.Results = null;
                return(queryResult);
            }
        }
コード例 #2
0
        public QueryResult SubmitQuery(string query)
        {
            TextReader scriptText = new StringReader(query.ToLower());

            List <string> tokens = sqlParser.Parse(scriptText);

            //sqlParser.Parse will always return the tokens of the query if accepted
            //the TYPE of the query is passed into the transaction manager, so you know what to check

            string     queryType = tokens[tokens.Count - 4];
            string     done      = tokens[tokens.Count - 3];
            string     accepted  = tokens[tokens.Count - 2];
            InputError error     = new InputError(tokens[tokens.Count - 1], "");

            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);
            tokens.RemoveAt(tokens.Count - 1);

            if (accepted == "True")
            {
                QueryResult queryResult = new QueryResult(queryType, done, accepted, error);
                transactionMgr.Process(tokens, queryType, ref queryResult);
                logs.Add(query);
                OnDbUpdated();
                return(queryResult);
            }
            else
            {
                //error
                QueryResult queryResult = new QueryResult(queryType, done, accepted, error);
                queryResult.Results = null;
                return(queryResult);
            }
        }