Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ADO в Delphi [D5, MSSQL]


Люк ©   (2002-02-15 11:20:00) 

Поле Parameter в ADOStoredProc и ADOQuery имеет тип OleVariant. Если в это поле передавать строковую переменную с русскими буквами, то получается бессмысленный набор латинских символов. Как этого избежать ?


Fedorenko Igor   (2002-02-15 11:59:00) [1]

еще можно в MS SQL передавать строки в кодировке Юникод, пример:
"N""это твоя строка""", параметр N говорит серверу, что это Юникод


Fedorenko Igor   (2002-02-15 11:50:00) [2]

кодировка теряется при преобразовании типов в компонентах ADO!!!
OleStr вполне должна подойти. Если трабл повторяется нужно найти способ передачи строки типом Widestring.
+ Какая кодировка в SQL Server ?


Fedorenko Igor   (2002-02-15 11:45:00) [3]

Дело в том что тебе нужно параметр передавать типом Widestring
Уточни вопрос примером


Люк   (2002-02-15 11:39:00) [4]

Пробовал, но не получается. Дело в том, что на установку в редакторе параметров при значении поля DataType = ftString значение поля Value-Type в String никак не устанавливается, а только в OleStr. Может, в этом дело ?


Fedorenko Igor   (2002-02-15 11:27:00) [5]

попробуй формировать строку типа Widestring, затем передавать,
если не получиться будем думать дальше ...


function OleVariantToWideString( ov : OleVariant ) : WideString;
begin
if( ov = Null ) then Result := ""
else Result := ov;
end;

function WideStringToOleVariant( ws : WideString ) : OleVariant;
begin
if( ws = "" ) then Result := Null
else Result := ws;
end;


Наверх

Титульная страница Поиск, карта сайта Написать письмо