Здравствуйте! Сегодня: Чт, 22 Окт 2020, Ваш IP: 3.238.62.144 Войти через loginza
 
Вход | Регистрация | Забыли пароль?
Мой Kbyte.Ru
> Список форумов Kbyte.Ru - - Базы данных
+ Создать новую тему Страница: 1
Тема: Знаки вопроса вместо букв · +  +  дата добавления: 07.12.2012 / 08:58
Автор темы:
mig
mig
тем: 1 / ответов: 1 / благодарностей: 0 / репутация: 0
ответов: 1
создал(а) тем: 1


Использую VB 2010 and data base on the other server.
В первой строке app.config записано encoding=utf-8.
Проблема в записи не латиницы:
1. если пишу прямо в базу данных или в GridView использую Edit -> Update, или использую выполнить запрос в построителе запросов (в DataSet), то всё нормально.
2. Но если для INSERT использую TextBox, то в базу данных записываются вопросы.

Что ещё можно проверить, куда копать? Заранее спасибо.
Михаил.
Технологии: Microsoft SQL Server, Visual Basic .NET
 
Ответ # 1 # · +  +  дата добавления: 07.12.2012 / 11:39
Автор ответа:
Алексей Немиро
Алексей Немиро
тем: 534 / ответов: 5130 / благодарностей: 325 / репутация: 211
Чашка Kbyte.Ru>>
Url: aleksey.nemiro.ru
Icq: 261779681
Skype: alekseynemiro
ответов: 5130
создал(а) тем: 534


Код в студию!

Если запрос добавления данных из TextBox имеет вид, типа:
Dim cmd As New SqlCommand()
cmd.CommandText = "INSERT INTO table1 (text) VALUES ('" & TextBox1.Text & "') "
То проблема скорей всего в таком неправильном методе формирования запроса. Должно быть примерно так:
Dim cmd As New SqlCommand()
cmd.CommandText = "INSERT INTO table1 (text) VALUES (@text) "
cmd.Parameters.Add("@text", SqlDbType.NVarChar).Value = TextBox1.Text


Также проблема может быть в базе. Тип данных полей для юникода должен быть: nvarchar, nchar, ntext.
 
Ответ # 2 # · +  +  дата добавления: 07.12.2012 / 18:21
Автор ответа:
mig
mig
тем: 1 / ответов: 1 / благодарностей: 0 / репутация: 0
ответов: 1
создал(а) тем: 1


Алексей! Спасибо за ответ. Смогу проверить только в воскресенье. В своё оправдание должен сказать, что команда форммируется в среде VB, i.e DataSet => DataAdapter => Insert, Delete, Update. Или я использую построитель запросов в этом DataSet и проверяю этот запрос, не выходя из DataSet, то всё в порядке. Ещё раз большое спасибо.
Михаил.
 
Страница: 1 + Создать новую тему