Я пытался найти лучший способ выполнить скрипт 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, чтобы получить сценарий, но не могу получить доступ к нестатическому элементу из статической функции.