Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.06;
Скачать: CL | DM;

Вниз

Несовместимость типов 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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.068 c
14-1084771933
SergP
2004-05-17 09:32
2004.06.06
Хочу учиться.


4-1083497908
anod
2004-05-02 15:38
2004.06.06
Изменить позицию пункта меню


6-1082063283
Dimedrol
2004-04-16 01:08
2004.06.06
Самый простенький Telnet клиент


14-1084611155
Sever
2004-05-15 12:52
2004.06.06
Выбор литературы


14-1085133857
Sanek_metaller
2004-05-21 14:04
2004.06.06
Opera