![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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;