Гость
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ввод данных на русском из textbox в бд SQL Server / 13 сообщений из 13, страница 1 из 1
28.05.2020, 21:02
    #39963627
Kira Mitt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Есть код обновления записи в бд, которая берет информацию из textbox2. Код рабочий, но при вводе на русском языке, заменяет символы на знаки вопроса. Как сделать так, чтобы вводились русские буквы?

Код: c#
1.
2.
3.
4.
5.
6.
7.
 string sql = "update Category set Name ='"+ TextBox2.Text+"' where ID like N'" + Int32.Parse(ListBox1.SelectedValue.ToString()) + "'";
                            SqlConnection con = new SqlConnection(connectionString);
                            SqlCommand command = new SqlCommand(sql, con);
                            SqlDataAdapter adapter = new SqlDataAdapter(command);
                            DataTable table = new DataTable();
                            adapter.Fill(table);
                            Response.Redirect(Request.RawUrl);
...
Рейтинг: 0 / 0
28.05.2020, 21:05
    #39963629
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Какого типа поле Name в таблице Category?
...
Рейтинг: 0 / 0
28.05.2020, 21:10
    #39963632
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
А по ходу дела еще замечания к вашему коду:
Что будет, если пользователь введет в ваше текстовое поле апростроф?
А что будет, если он введет '; drop table Category --
?
Какого типа поле ID и почему оно сравнивается как текст, да еще и через Like, подавляя использование индексов?
...
Рейтинг: 0 / 0
28.05.2020, 21:13
    #39963637
Kira Mitt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Shocker.Pro,
nvarchar(max)
...
Рейтинг: 0 / 0
28.05.2020, 21:33
    #39963643
Kira Mitt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Shocker.Pro,

Спасибо за замечания!
Буду исправлять позже, когда разберусь с основными проблемами.
...
Рейтинг: 0 / 0
28.05.2020, 22:15
    #39963673
fkthat
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Shocker.Pro
А что будет, если он введет
'; drop table Category --

Только хотел посоветовать это сделать

Shocker.Pro
Какого типа поле ID и почему оно сравнивается как текст, да еще и через Like, подавляя использование индексов?

Код: sql
1.
LIKE N'foo%'


в общем-то индекс использовать все же будет. Но в свете:

Код: c#
1.
"LIKE '" + Int32.Parse(...) + "'"


это мегастранно выглядит.
...
Рейтинг: 0 / 0
28.05.2020, 22:23
    #39963676
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Kira Mitt,

Почему не нравятся знаки вопроса? Представленный код как-бэ намекает.
...
Рейтинг: 0 / 0
28.05.2020, 22:26
    #39963679
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Kira Mitt
Shocker.Pro,
nvarchar(max)
попробуйте
Код: c#
1.
string sql = "update Category set Name = N'"+ TextBox2.Text....



ну а по большому счету надо использовать команду и параметры
это избавит от всех трёх косяков
https://metanit.com/sharp/adonet/2.9.php
...
Рейтинг: 0 / 0
28.05.2020, 22:27
    #39963681
Relic Hunter
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Shocker.Pro
А что будет, если он введет '; drop table Category --
?
Достаточно ввести ;, чтобы обновить все строки таблицы)))
...
Рейтинг: 0 / 0
29.05.2020, 07:31
    #39963848
handmadeFromRu
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
давненько я не видел неуправляемые ресурсы без высвобождения и sql инжекшен.

п.с ну параметры говорили но и почитай про using + dispose
...
Рейтинг: 0 / 0
29.05.2020, 11:18
    #39963943
Ролг Хупин
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Shocker.Pro
Kira Mitt
Shocker.Pro,
nvarchar(max)
попробуйте
Код: c#
1.
string sql = "update Category set Name = N'"+ TextBox2.Text....



ну а по большому счету надо использовать команду и параметры
это избавит от всех трёх косяков
https://metanit.com/sharp/adonet/2.9.php


Такую мелочевку он будет исправлять позже, когда разберется с основными проблемами.
...
Рейтинг: 0 / 0
29.05.2020, 11:32
    #39963948
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Ролг Хупин
Такую мелочевку он будет исправлять позже, когда разберется с основными проблемами.
Во-первых - девочка, во вторых, раз поле юникодовое, то именно в этом преобразовании может быть причина знаков вопроса в БД.
...
Рейтинг: 0 / 0
29.05.2020, 12:08
    #39963969
Kira Mitt
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ввод данных на русском из textbox в бд SQL Server
Всем спасибо за помощь!
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Ввод данных на русском из textbox в бд SQL Server / 13 сообщений из 13, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]