По-моему, вы забыли нажать «Enter» после ввода ввода. Сканер может прочитать ввод, если только вы нажмете клавишу «Ввод». Ваше решение мне кажется правильным. Я смог правильно запустить его на моем компьютере.
Подобный вопрос можно найти здесь: Как использовать сканер для приема только действительного значения int в качестве ввода
Используйте платформу Microsoft Объекта (EF).
Это имеет "синтаксический анализатор" SQL Объекта, который создает дерево выражений,
using System.Data.EntityClient;
...
EntityConnection conn = new EntityConnection(myContext.Connection.ConnectionString);
conn.Open();
EntityCommand cmd = conn.CreateCommand();
cmd.CommandText = @"Select t.MyValue From MyEntities.MyTable As t";
var queryExpression = cmd.Expression;
....
conn.Close();
Или что-то как этот, проверьте его на MSDN.
И это - все на галочке Ballmers:-)
существует также один на Проекте Кода, Синтаксический анализатор SQL .
Удача.
Попробуйте ANTLR - существует набор грамматик SQL на там.
Попробуйте ЗОЛОТОЙ Синтаксический анализатор , это - мощное и легкое для изучения механизма BNF. Можно искать грамматики, уже сделанные для того, что Вы хотите (т.е.: грамматика SQL ANSI 89 ).
я начал использовать это для HQL, анализирующего (язык запросов NHibernate, очень похожий на SQL), и это является потрясающим.
ОБНОВЛЕНИЕ: Теперь команда разработчиков NH сделала HQL, анализирующий использующий ANTLR (который более трудно использовать, но более мощный AFAIK).
VSTS 2008 Database Edition GDR включает сборки, которые выполняют синтаксический анализ SQL и генерацию сценариев, на которые вы можете ссылаться из своего проекта. Database Edition использует синтаксический анализатор для анализа файлов сценариев, чтобы представить модель вашей базы данных в памяти, а затем использует генератор сценариев для генерации сценариев SQL из модели. Я думаю, что вам нужно иметь только две сборки и ссылку в вашем проекте. Если у вас нет редакции базы данных, вы можете установить пробную версию, чтобы получить сборки, или может быть другой способ получить их без установки редакции базы данных. Проверьте следующую ссылку. Чувак данных: Как добраться до короны драгоценностей .
Вы можете взглянуть на коммерческий компонент: general sql parser на http://www.sqlparser.com. Он поддерживает SQL синтаксис Oracle, T-SQL, DB2 и MySQL.