Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
ВнизDelphi и Fox Найти похожие ветки
← →
caesar (2003-03-31 16:37) [0]1-я проблема такая. Подключаюсь к «фоксовой» базе данных через ADO VFPOLEDB.1 провайдера. Не могу получить курсор из ADOStoredProc.
К примеру (на стороне VFoxPRO 7):
Cjdf
Parameters A,B,C
…
Return C
Где с – курсор.
А на стороне Delphi 7:
ADOStoredProc.ProcedureName:=’cjdf’;
ADOStoredProc.Parameters.ParamByName(‘a’).Value:=1;
ADOStoredProc.Parameters.ParamByName(‘b’).Value:=1;
ADOStoredProc.Open или ADOStoredProc.ExecProc или ADOStoredProc.Active:=true;
Естественно параметры описаны за ранее.
A – ftInteger;
B – ftInteger;
C – ftVariant; - Другие типы (ftCursor …) выбрать не получается.
2-я Проблема такая. Все та же БД и то же ADO. Пытаюсь выполнить два запроса в ADOQuery.
ADOQuery.Active:=false;
ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(‘SELECT * FROM a.dbf WHERE … INTO CURSOR b;’);
ADOQuery.SQL.Add(‘SELECT * FROM b WHERE … INTO CURSOR c’);
ADOQuery.Active:=true;
Запрос отрабатывает, но вместо курсора «c» выдает курсор «b». На процедуру NextRecordSet ругается, говорит что «Текущий проводник не поддерживает возврата нескольких записей в результате выполнения одного действия».
Пожалуйста подскажите что я неправильно делаю и как можно решить эти проблемы!!!
← →
sniknik (2003-03-31 16:55) [1]ADOQuery.SQL.Clear;
ADOQuery.SQL.Add(‘SELECT * FROM a.dbf WHERE … INTO CURSOR b;’);
ADOQuery.SQL.Add(‘SELECT * FROM b WHERE … INTO CURSOR c’);
ADOQuery.Active:=true;
вот это в OLEDB провайдере для VFP, не поддерживается (как только столкнулся с ним первое что в глаза бросилось, нет поддержки мультидатасетов)
(а в ODBC - шном есть, схалявили разработчики :-)))
так что решить проблемы можно перейдя на старый недобрый (а кто добрый?) ODBC драйвер. хотя процедуры я там не пробовал.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.04.17;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.006 c