Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Delphi [игнор отключен] [закрыт для гостей] / реальное различие между 6 и 5 / 2 сообщений из 2, страница 1 из 1
20.11.2003, 16:15
    #32330406
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реальное различие между 6 и 5
Добрый день!

D5+SP1+AdoFix+MSSQL
Берём TADOQuery и пишем в него запрос с участием параметра ftString, тип которого определяем через udt задавая его через переменную. Подаём ему значение сначала null, а потом '', делаем Open и получаем сообщение "параметр импроперли дефинед...", то же самое в д6 работает нормально. Можно ли вылечить на д5?

например

declare @s TString
select @s= :s
select * from dbo.showtable where name=@s
-----
ADOQuery1.Parameters.ParamByName('s').value:=null;
ADOQuery1.Parameters.ParamByName('s').value:='';
ADOQuery1.Active:=true ;
...
Рейтинг: 0 / 0
20.11.2003, 17:29
    #32330572
tunknown
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
реальное различие между 6 и 5
сам и отвечу.нашлась разница в исходниках adodb.pas

d6: function VarDataSize(const Value: OleVariant): Integer;
begin
if VarIsNull(Value) then
Result := -1
else if VarIsArray(Value) then
Result := VarArrayHighBound(Value, 1) + 1
else if TVarData(Value).VType = varOleStr then
begin
Result := Length(PWideString(@TVarData(Value).VOleStr)^);
if Result = 0 then
Result := -1;
end
else
Result := SizeOf(OleVariant);
end;

d5: function VarDataSize(const Value: OleVariant): Integer;
begin
if VarIsNull(Value) then
Result := -1
else if VarIsArray(Value) then
Result := VarArrayHighBound(Value, 1) + 1
else if TVarData(Value).VType = varOleStr then
Result := Length(PWideString(@TVarData(Value).VOleStr)^)
else
Result := SizeOf(OleVariant);
end;

даже не понятно, это ошибки д5 или "особенности работы со строками m$" :-(((
...
Рейтинг: 0 / 0
Форумы / Delphi [игнор отключен] [закрыт для гостей] / реальное различие между 6 и 5 / 2 сообщений из 2, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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