Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 08.10.2006, 19:25
Sotnikovsa Sotnikovsa вне форума
Прохожий
 
Регистрация: 22.09.2006
Сообщения: 4
Репутация: 10
По умолчанию Помогите с хранимой процедурой

Господа прошу о помощи , решил сделать dll, т.е. привызове процедуры передаю ей параметры для записи в БД и получаю от нее код и описание ошибки, и использую TAdoStoredProc, хочу оговорить работаю с mssql 2000, при реализации этого в простом приложении все работает, если пытаюсь создать dll для выполнения этой же задачи, то вылетает ошибка EOleException 'Неправильно определен объект Parametr. Представлены несовместимые или неполные сведения'

делаю так


Var
i,ErrCode,MsgType:integer;
date,Msg:string;
time:Tdatetime;
begin
time:=strtodatetime(date);
adost:=TADOStoredProc.Create(nil);
adocon:=TADOConnection.Create(nil);
adocon.ConnectionString:='Provider=SQLOLEDB.1;Pass word=123456;User ID=sa;Initial Catalog=marketingogk6;Data Source=Sotnikovsa;Auto Translate=True;Workstation ID=SOTNIKOVSA;Use Encryption for Data=False';
adost.Connection:=adocon;
adost.ProcedureName:='ASKUEdata_ins';
with adost.Parameters.AddParameter do
begin
Name:= '@Return_value';
DataType:=ftInteger;
Direction:=pdReturnValue;
Attributes:=[paNullable];
Value:=(null);
end;
with adost.Parameters.AddParameter do
begin
Name:= '@period_end';
DataType:=ftDateTime;
Direction:=pdInput;
Attributes:=[paNullable];
Precision:=0;
Value:=time;
end;
with adost.Parameters.AddParameter do
begin
Name:= '@interval';
DataType:=ftInteger;
Direction:=pdInput;
Attributes:=[paNullable];
Precision:=10;
Value:=3;
end;
with adost.Parameters.AddParameter do
begin
Name:= '@code';
DataType:=ftInteger;
Direction:=pdInput;
Attributes:=[paNullable];
Precision:=10;
Value:=1;
end;
with adost.Parameters.AddParameter do
begin
Name:= '@value';
DataType:=ftfloat;
Direction:=pdInput;
Attributes:=[paNullable];
Precision:=10;
Value:=311111.01;
end;
with adost.Parameters.AddParameter do
begin
Name:= '@Capacity_exid';
DataType:=ftString;
Direction:=pdInput;
Attributes:=[paNullable];
Size:=255;
Value:='VM000000000001';
end;
with adost.Parameters.AddParameter do
begin
Name:= '@guid';
DataType:=ftString;
Direction:=pdInput;
Attributes:=[paNullable];
Value:='Gres24';
end;
with adost.Parameters.AddParameter do
begin
Name:= '@id';
DataType:=ftBCD;
Direction:=pdOutput;
Attributes:=[paNullable];
Value:=(null);
end;
with adost.Parameters.AddParameter do
begin
Name:= '@MsgType';
DataType:=ftInteger;
Direction:=pdOutput;
Attributes:=[paNullable];
Value:=(null);
end;
with adost.Parameters.AddParameter do
begin
Name:= '@Msg';
DataType:=ftString;
Direction:=pdOutput;
Attributes:=[paNullable];
Value:=(null);
end;
with adost.Parameters.AddParameter do
begin
Name:= '@ErrCode';
DataType:=ftInteger;
Direction:=pdOutput;
Attributes:=[paNullable];
Value:=(null);
end;
i:=adost.Parameters.Count;
adost.ExecProc;
ErrCode:=Adost.Parameters.ParamValues['@ErrCode'];
MsgType:= Adost.Parameters.ParamValues['@MsgType'];
msg:=Adost.Parameters.ParamValues['@msg'];
if ErrCode>0 then
Windows.MessageBox(hWnd, Pchar(Msg), 'Command Line', MB_OK);


т.е. вызываю процедуру которая выглядит так

create procedure ASKUEDATA_INS
@period_end T_datetime,
@interval T_int,
@code T_int,
@value T_float,
@capacity_exid T_sname,
@guid T_sname,
@id T_reference out,
@Msg T_infomsg out,
@MsgType T_int out,
@ErrCode T_int out
as

begin и т.д.


Если делать просто то все ок, но в dll ? когда прописываешь все вручную, то ничего не получается, помогите пожалуйста, очень нужна помощь!!!

Заранее благодарен!!!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:04.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter