Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
ВнизНесовместимость типов Delphi и SQL Server Найти похожие ветки
← →
Karlson © (2004-05-18 11:10) [0]Добрый день! Возникла следующая проблема. В SQL Server есть процедура с параметром nvarchar (4000) (переменная @id_osn). Из Delphi через перменную @id_osn (типа WideString) компонента StoredProcedure передаю переменную Str (типа WideString - строка из цифр через пробелы, например "1 456 4 78"...). При большом количестве цифр в строке, происходит ошибка конвертации - в процедуру передается набор символов типа "Ö`ù". Подскажите, пожалуйста.
← →
Ega23 © (2004-05-18 11:12) [1]TStoredProc - полный отстой ИМХО. Используй TQuery
← →
Курдль © (2004-05-18 11:15) [2]
> StoredProcedure передаю переменную Str (типа WideString
А кто просил? Передавайте String и все проблемы уйдут!
← →
Karlson © (2004-05-18 11:23) [3]> А кто просил? Передавайте String и все проблемы уйдут!
Просить-то никто не просил, но WideString позволяет передавать строки, ограниченные размером памяти, а String - ограниченные небольшим числом символов...
← →
Курдль © (2004-05-18 11:28) [4]
> String - ограниченные небольшим числом символов...
???
4000 точно съест! А "строки, ограниченные размером памяти" - это Вам к BLOB!
← →
Johnmen © (2004-05-18 11:30) [5]>а String - ограниченные небольшим числом символов...
Небольшое - это сколько ? :)
string+F1
← →
Karlson © (2004-05-18 11:35) [6]>а String - ограниченные небольшим числом символов...
>Небольшое - это сколько ? :)
>string+F1
вы хотели помочь или поерничать? От того, что string работает с 255 символами, а не с небольшим количеством мне почему-то нелегче. вы программер или филолог?
← →
Johnmen © (2004-05-18 11:38) [7]>От того, что string работает с 255 символами
Вот если бы ты не был так мнителен и неуместно задорен, то посмотрел бы хелп. И не писал бы ерунды...
← →
Karlson © (2004-05-18 11:44) [8]> Johnmen
Возможно, я действительно глуплю, но и string и widestring и ansistring - все было и ничего не помогло
← →
Курдль © (2004-05-18 11:48) [9]Код в студию!
← →
Karlson © (2004-05-18 11:56) [10]begin
for i:=0 to Add_Kartky.ListBox_Osn_To.Items.Count-1 do
begin
Str1 := Copy(Add_Kartky.ListBox_Osn_To.Items[i],length(Add_Kartky.ListBox_Osn_To.Items[i])-13,14);
Str := Str + " " + intToStr(StrToInt(Str1));
end;
Str := IntToStr(Length(Str)) + " " + Str;
Module_AddUpd_Osn_Maloc_Soft.StoredProc_Add_Soft.ParamByName("@id_osn").AsString := Str;
end;
вот...
← →
Курдль © (2004-05-18 12:19) [11]Замысловато...
АModule_AddUpd_Osn_Maloc_Soft.StoredProc_Add_Soft.ParamByName("@id_osn").AsString := Add_Kartky.ListBox_Osn_To.Items.Text
?
← →
Danilka © (2004-05-18 12:27) [12]StoredProcedure - это что за компонент, БДЕ-шный TStoredProc?
← →
Danilka © (2004-05-18 12:29) [13]кхм. а, например, вот так:
begin
for i:=0 to Add_Kartky.ListBox_Osn_To.Items.Count-1 do
begin
Str1 := Copy(Add_Kartky.ListBox_Osn_To.Items[i],length(Add_Kartky.ListBox_Osn_To.Items[i])-13,14);
Str := Str + " " + intToStr(StrToInt(Str1));
end;
Str := IntToStr(Length(Str)) + " " + Str;
ShowMessage(Str);
Module_AddUpd_Osn_Maloc_Soft.StoredProc_Add_Soft.ParamByName("@id_osn").AsString := Str;
end;
что говорит?
← →
Karlson (2004-05-18 17:11) [14]> что говорит?
Выводит нормальный набор нужных мне символов
(например "17 5 12 23 23 123 43 ...")
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.06.06;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.03 c