• Курсы Академии Кодебай, стартующие в мае - июне, от команды The Codeby

    1. Цифровая криминалистика и реагирование на инциденты
    2. ОС Linux (DFIR) Старт: 16 мая
    3. Анализ фишинговых атак Старт: 16 мая Устройства для тестирования на проникновение Старт: 16 мая

    Скидки до 10%

    Полный список ближайших курсов ...

Sql Server и Nchar и Nvarchar

  • Автор темы Iurii
  • Дата начала
Статус
Закрыто для дальнейших ответов.
I

Iurii

Многоуважаемые.У меня проблема.Я делаю программу которая через ADO связывается с DB что на Microsoft SQL Server 2000. У меня там поля типа nvarchar и ntext.Поля Unicode.
Я работаю с компонентами Tnt и ElPack для Unicode(чистый,без RTF).Если предложите другие заранее спасибо.
Вот проблема. Когда пишу в nvarchar все нормально,все шрифты на своем месте(я работаю с германскими,русскими и румынскими шрифтами ).Когда пишу в nchar происходит что-то непонятное а именно- исчезают все хвостики и шляпочки у германских и румынских букв, то есть эти буквы превращаются в чисто английские.
Пробовал писать
ADOQuery.SQL.Add('update Таблица set Поле=N'''+s+'''');
// где s:WideChar и кстати при
// чтении побайтно с lo и hi,чтобы убедится что эта нужная строка Unicode,тоже
// все нормально
ADOQuery.ExecSQL;
то же самое.
Пробовал через
ADOQuery.FieldByName('FieldName').Value:=s;
Пробовал через
ADOQuery.FieldByName('FieldName').Value:=Memo.Text // где TntМемо.Text типа Unicode все равно ничего не получается. С nvarchar никаких проблем а с nchar вот такие проблемы и хоть лопни. Пробовал писать в самом поле через SQL Manager - нормально, все сохраняется.Пишу запрос в самом SQL Manager опять все нормально.Помогите пожалуйста мне скоро сдавать программу а вот эта фигня никак не идет.Может я не правильно обращаюсь к Unicode строкам? Подскажите что я не так делаю.Заранее спасибо.
 
B

Barmutik

ЧТо-то мне подсказывает что это может быт проблема реализации работы с полем тако типа.. точно не помню но что-то такое проскакивало...
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!