ListView не правильно обрабатывает запрос выбора SQL в ASP.net C#C#

Место общения программистов C#
Ответить
Anonymous
 ListView не правильно обрабатывает запрос выбора SQL в ASP.net C#

Сообщение Anonymous »

У меня есть сайт ASP.net C#. Я добавляю в один из ListView этот код, и он работает:

Код: Выделить всё

protected void BindData()
{
string forwardedSearchText = Request.QueryString["SearchText"];
string forwardedSearchColumn = Convert.ToString(Session["SearchTitle"]);

string strsql = "Select TbSoore.IdSoore, TbSoore.NameSoore, TbAye.NumberAye, TbAye.IdAye, TbAye.TextAye, TbAye.TextTarjome From TbAye INNER JOIN TbSoore ON TbAye.IdSoore = TbSoore.IdSoore Where FreeText((" + forwardedSearchColumn + "),N' " + forwardedSearchText + "')";

DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(strcon))
{
using
(SqlCommand cmdSQL = new SqlCommand(strsql, con))
{
con.Open();
ListViewSearchResults.DataSource = cmdSQL.ExecuteReader();
ListViewSearchResults.DataBind();
}
}

}
Теперь я хочу изменить стиль строки запроса для большей безопасности:

Код: Выделить всё

$@"Select TbSoore.IdSoore, TbSoore.NameSoore, TbAye.NumberAye, TbAye.IdAye, TbAye.TextAye, TbAye.TextTarjome From TbAye INNER JOIN TbSoore ON TbAye.IdSoore = TbSoore.IdSoore Where FreeText(({forwardedSearchColumn}),N' @forwardedSearchText ')";
Поэтому измените BindData() на:

Код: Выделить всё

protected void BindData()
{
string forwardedSearchText = Request.QueryString["SearchText"];
string forwardedSearchColumn = Convert.ToString(Session["SearchTitle"]);

string strsql = $@"Select TbSoore.IdSoore, TbSoore.NameSoore, TbAye.NumberAye, TbAye.IdAye, TbAye.TextAye, TbAye.TextTarjome From TbAye INNER JOIN TbSoore ON TbAye.IdSoore = TbSoore.IdSoore Where FreeText(({forwardedSearchColumn}),N' @forwardedSearchText ')";

DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(strcon))
{
using
(SqlCommand cmdSQL = new SqlCommand(strsql, con))
{
cmdSQL.Parameters.Add("@forwardedSearchText", SqlDbType.NVarChar).Value = forwardedSearchText;
con.Open();
ListViewSearchResults.DataSource = cmdSQL.ExecuteReader();
ListViewSearchResults.DataBind();
}
}

}
Но это не работает. Я не получаю никаких ошибок, но таблица пуста.
Может ли кто-нибудь мне помочь?

Подробнее здесь: https://stackoverflow.com/questions/784 ... et-c-sharp
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»