![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Несовместимость типов Delphi и SQL Server [D6, MSSQL]
Karlson © (2004-05-18 11:10:00)Добрый день! Возникла следующая проблема. В SQL Server есть процедура с параметром nvarchar (4000) (переменная @id_osn). Из Delphi через перменную @id_osn (типа WideString) компонента StoredProcedure передаю переменную Str (типа WideString - строка из цифр через пробелы, например "1 456 4 78"...). При большом количестве цифр в строке, происходит ошибка конвертации - в процедуру передается набор символов типа '\x1CÖ`\x1ù\x1'. Подскажите, пожалуйста.
Karlson (2004-05-18 17:11:00) [1]> что говорит?
Выводит нормальный набор нужных мне символов
(например "17 5 12 23 23 123 43 ...")
Danilka (2004-05-18 12:29:00) [2]кхм. а, например, вот так:
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;
что говорит?
Danilka (2004-05-18 12:27:00) [3]StoredProcedure - это что за компонент, БДЕ-шный TStoredProc?
Курдль (2004-05-18 12:19:00) [4]Замысловато...
АModule_AddUpd_Osn_Maloc_Soft.StoredProc_Add_Soft.ParamByName('@id_osn').AsString := Add_Kartky.ListBox_Osn_To.Items.Text?
Karlson (2004-05-18 11:56:00) [5]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 11:48:00) [6]Код в студию!
Karlson (2004-05-18 11:44:00) [7]> Johnmen
Возможно, я действительно глуплю, но и string и widestring и ansistring - все было и ничего не помогло
Johnmen (2004-05-18 11:38:00) [8]>От того, что string работает с 255 символами
Вот если бы ты не был так мнителен и неуместно задорен, то посмотрел бы хелп. И не писал бы ерунды...
Karlson (2004-05-18 11:35:00) [9]>а String - ограниченные небольшим числом символов...
>Небольшое - это сколько ? :)
>string+F1
вы хотели помочь или поерничать? От того, что string работает с 255 символами, а не с небольшим количеством мне почему-то нелегче. вы программер или филолог?
Johnmen (2004-05-18 11:30:00) [10]>а String - ограниченные небольшим числом символов...
Небольшое - это сколько ? :)
string+F1
Курдль (2004-05-18 11:28:00) [11]
> String - ограниченные небольшим числом символов...
???
4000 точно съест! А "строки, ограниченные размером памяти" - это Вам к BLOB!
Karlson (2004-05-18 11:23:00) [12]> А кто просил? Передавайте String и все проблемы уйдут!
Просить-то никто не просил, но WideString позволяет передавать строки, ограниченные размером памяти, а String - ограниченные небольшим числом символов...
Курдль (2004-05-18 11:15:00) [13]
> StoredProcedure передаю переменную Str (типа WideString
А кто просил? Передавайте String и все проблемы уйдут!
Ega23 (2004-05-18 11:12:00) [14]TStoredProc - полный отстой ИМХО. Используй TQuery