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

Вниз

TADOStoredProc как правильно?   Найти похожие ветки 

 
Прямой   (2003-12-18 14:24) [0]

БД Oracle 8.1.7
MyStoredProc1[0]:=TADOStoredProc.Create(nil);
MyStoredProc1[0].Connection:=ADOConnection1;
MyStoredProc1[0].ProcedureName:="INS";
Вариант1
MyStoredProc1[0].Parameters.Clear;
MyStoredProc1[0].Parameters.AddParameter;
MyStoredProc1[0].Parameters[0].DataType:=ftString;
MyStoredProc1[0].Parameters[0].Value:="КАКА";
Вариант2
MyStoredProc1[0].Refresh;
MyStoredProc1[0].ParametersюParamByName("NAME").DataType := ftString;
MyStoredProc1[0].Parameters.ParamByName("NAMEFILE1").Value:="КАКА";
Второй вариант работает с "матом"(ваще не работает).
А как нужно правильно? Мне желательно указывать имя передаваемой переменной, чем индекс параметра.


 
Johnmen   (2003-12-18 14:31) [1]

Какое значение дашь параметру, так он и будет работать ...
:))))))))))))


 
Прямой   (2003-12-18 14:39) [2]

В хранимой процедуре передаваемый параметр тип NUMERIC
Если явно не указать тип ftInteger, по умолчанию ставиться тип ftBCD, ну наверное грабли очевидны?


 
Johnmen   (2003-12-18 14:47) [3]

Сколько принял ?
:)


 
Прямой   (2003-12-18 14:54) [4]

Не пил, не курил и т.п.


 
Семен Сорокин   (2003-12-18 14:56) [5]

рабочий вариант:
FspArr.Connection := FConn;
FspArr.ProcedureName := "spInformtelArr";
FspArr.Parameters.CreateParameter("@RETURN_VALUE", ftInteger, pdReturnValue, 10, 0);
FspArr.Parameters.CreateParameter("@cDTA", ftDateTime, pdInput, 0, 0);


 
sniknik   (2003-12-18 14:56) [6]

а с чего решил что NUMERIC в Oracle это целое?

сам не знаю про Oracle но в access -
Тип NUMERIC отныне не является синонимом типов FLOAT или DOUBLE. Тип NUMERIC теперь используется как синоним типа DECIMAL
а
DECIMAL - 17 байтов -
Тип данных для хранения точных числовых значений от -10^28 - 1 до 10^28 - 1. Точность (1 - 28) и фактор масштабирования (от 0 до заданной точности) определяются пользователем. По умолчанию точность и фактор масштабирования равны соответственно 18 и 0.


т.е. это дробное число представлено целым, точность после запятой задается.
ftBCD ближе всего.

жестокая правда. граблей на которые можно все свалить нет... ;о))))


 
Johnmen   (2003-12-18 14:57) [7]

Тогда сначала почитай
http://ln.com.ua/~openxs/articles/smart-questions-ru.html


 
Прямой   (2003-12-18 15:07) [8]

Постараюсь ещё раз.
Если кинуть на форму компоненты ADOConnection1, ADOStoredProc1,
В RunTime Приконнектиться к базе. Далее
ADOStoredProc1.Parameters.ParamByName("ddd").DataType := ftInteger;
ADOStoredProc1.Parameters.ParamByName("ddd").Value:= 15;
ADOStoredProc1.ExecProc;
Работает я доволен!
Но если создаешь в RunTime
MyStoredProc1[0]:= TADOStoredProc.Create(nil);
И так далее, то не работает, вопрос: -Как правильно?



Страницы: 1 вся ветка

Текущий архив: 2004.01.16;
Скачать: CL | DM;

Наверх




Память: 0.46 MB
Время: 0.013 c
4-49812
Saris
2003-11-12 16:51
2004.01.16
Выделение свыше 2Гб виртуалки.


11-49473
Olgerd
2003-05-04 02:42
2004.01.16
Вопрос по MHFontDialog


3-49437
Прямой
2003-12-18 14:24
2004.01.16
TADOStoredProc как правильно?


3-49434
dolmat
2003-12-18 10:38
2004.01.16
Исчезание записей из грида


1-49582
miracle_fox
2004-01-05 13:25
2004.01.16
как изменить цвет итема в листвью?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский