Лучший способ выполнить сценарий SQL Server с использованием ASP.NET и jQuery? - PullRequest
0 голосов
/ 22 октября 2019

Я пытался найти лучший способ выполнить скрипт SQL-сервера, используя ASP.NET и Jquery для редактора тестов внутренней автоматизации. В настоящее время у меня есть функция JQuery для вызова моего ASP WebMethod для выполнения соединения SQL и выполнения запроса, но в настоящее время я отправляю запрос в качестве параметра этой функции ASP, и я знаю, что это не безопасный способ сделать это, иЯ также сталкиваюсь с проблемами, когда у меня большие скрипты из-за специальных символов (я пытался использовать escape и другие подобные функции, но я не мог правильно его декодировать со стороны ASP).

Поэтому мой вопрос, если кто-нибудь знает, чтобудет лучшим способом обработать сценарии, которые будут выполнены? Управляющая таблица на SQL Server или переменная сеанса может быть?

Вот мой текущий код.

JQuery

        function ExecuteScript() {
            var script = document.getElementById('MainContent_textEditor').innerHTML;
            $('#MainContent_textEditorResponse').html(encodeURIComponent(script));
            $.ajax({
                type: "POST",
                url: "Default.aspx/ExecuteScript",
                data: "{'sqlQuery':'"+script+"'}",
                dataType: "json",
                contentType: "application/json; charset=utf-8",
                success: ExecuteScript_Success,
                error: ExecuteScript_Error
            });
             return false;
        }
        function ExecuteScript_Success(mydata) {
            $('#MainContent_textEditorResponse').html(mydata.d);
        }
        function ExecuteScript_Error(mydata) {
        }

ASP.NET

        [WebMethod]
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        public static string ExecuteScript(string sqlQuery)
        {
            string connectionString = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["DQSQLAutomationConnectionString"].ConnectionString;
            string queryResult = "";

            using (SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(sqlQuery, connectionString))
            {
                DataTable dt = new DataTable("TestCases");
                sqlDataAdapter.Fill(dt);
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    queryResult = queryResult + dt.Rows[i][0];
                }
                return queryResult;
            }
        }

Я также пытался получить доступ к элементу управления textarea из ASP.NET, чтобы получить сценарий, но не могу получить доступ к нестатическому элементу из статической функции.

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