Как проверить SQL-запрос перед его выполнением с помощью C#
Привет
У меня есть текстовое поле, в котором пользователь вводит свой SQL-запрос. Однако мне нужно сделать программу, которая проверяет запрос перед его выполнением в базе данных.
например:
Предположим, пользователь вводит, выбирает A1, A2,A3 из XYZ
Поэтому теперь, прежде чем выполнить запрос, мне нужно проверить,существуют ли A1, A2 и A3 в таблице XYZ или нет. Если нет, то пользователю должно быть показано сообщение об ошибке.
Я не могу придумать, как действовать дальше.
Итак, может ли кто-нибудь дать базовую идею с образцом фрагмента кода о том, как действовать дальше? Спасибо
Что я уже пробовал:
До сих пор я ничего не пробовал. Я не получаю никакой логики, чтобы продолжать дальше
Tomas Takac
Почему бы вам просто не выполнить запрос и не показать сообщение об ошибке, полученное с сервера базы данных? Почему вы должны проверять это сами?
0x01AA
Идея, может быть, не очень эффективная и нуждающаяся в проработке:SELECT * FROM XYZ WHERE 1=0
Вышеизложенное вернет вам пустой результирующий набор, но я думаю, что будет способ определить, по крайней мере, имена полей таблицы с ним....(?)
Foothill
Я не проверял это, чтобы убедиться, что это работает, но вы могли бы дать ему один раз.
http://www.codeproject.com/Articles/410081/Parse-Transact-SQL-to-Check-Syntax