Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.01.16;
Скачать: [xml.tar.bz2];

Вниз

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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.01 c
14-49751
ashnurov
2003-12-24 14:06
2004.01.16
поиск слова в заголовке


8-49649
kill_john
2003-09-15 09:41
2004.01.16
Как сохранить текущий кадр


14-49704
MadAngel
2003-12-25 16:14
2004.01.16
Помогите с The Bat om


14-49705
Undert
2003-12-25 23:19
2004.01.16
Windows 1.1


14-49706
SoS
2003-12-25 15:12
2004.01.16
Народ, а есть ли декомпилятор способный вытащить 100% кода?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский