SQL серверная команда из C # - PullRequest
0 голосов
/ 03 мая 2019

Я хочу знать, есть ли способ выполнить команду SQL внутри кода C # без подключения к экземпляру базы данных.

Например, я хочу запустить следующий скрипт:

SELECT 15/(3+2) AS RESULT

И получите результат (3), не открывая соединение с реальным экземпляром SQL Server.

ОБНОВЛЕНИЕ: после часа исходного вопроса

Я строю систему, которая будет рассчитывать показатели на основе пользовательского ввода. Я ищу Expression Evaluators для вычисления результатов (например, 15 / (3 + 5) = 3 или 15/3 + 5 = 8. Я нашел много, например NCalc, mXparser и многие другие, но SQL (по крайней мере, SQL) Сервер) имеют выражения NULLIF и ISNULL, которые очень помогут, возвращая ноль, когда знаменатель равен нулю, или возвращать ноль, если только один важный компонент числителя равен нулю.

Поскольку я дам пользователю возможность создавать свои собственные индикаторы, учить на языке SQL будет намного проще, поскольку пользователи уже имеют некоторый уровень SQL.

Ответы [ 3 ]

1 голос
/ 03 мая 2019

Возможно, используйте облегченный встроенный SQL-движок, такой как SQL CE или SQLite, чтобы оценить ваш select запрос?

Вы также можете просто приблизитьсяиспользование LINQ непосредственно в обычной структуре данных.

1 голос
/ 03 мая 2019

Вы можете использовать метод вычисления данных.

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim dt As New DataTable
    Dim result = dt.Compute("15/(3+2)", "0")
    MessageBox.Show(result.ToString)
End Sub
0 голосов
/ 03 мая 2019

Я хочу знать, есть ли способ выполнить команду SQL внутри кода C # без подключения к экземпляру базы данных.

НЕТ, его нет;Вы думаете, где или против какого источника данных должен выполняться ваш запрос.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...