powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
6 сообщений из 6, страница 1 из 1
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33186752
svvvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
даже на знаю в какой форум написать свой вопрос...
думаю, что здесь мне бестрее ответят.

прочитал на днях что Visual FoxPro OLE DB Provider от 9-ки может передавать данные курсора из хранимой процедуры в базе данных с помощью функции SETRESULTSET( ).

вопрос.
возможно ли реализовать получение данных из ХП для АДО.НЕТ?
почему вопрос стоит имнно так? дело в том, что сам запуск хранимой процедуры (в принципе) проходит отлично:
C#
using (OleDbConnection con = new OleDbConnection(@"Data Source=""C:\TEST\TEST.DBC"";Provider=""VFPOLEDB.1"";Collating Sequence=MACHINE; Mode=Share Deny None")) {
OleDbCommand com = con.CreateCommand();
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "vizselect()";
con.Open();
com.ExecuteNonQuery();
con.Close();
}

но стоит вызвать ридер:

using (OleDbConnection con = new OleDbConnection(@"Data Source=""C:\TEST\TEST.DBC"";Provider=""VFPOLEDB.1"";Collating Sequence=MACHINE; Mode=Share Deny None")) {
OleDbCommand com = con.CreateCommand();
com.CommandType = CommandType.StoredProcedure;
com.CommandText = "vizselect()";
con.Open();
using (OleDbDataReader rd = com.ExecuteReader()) {
while (rd.Read()) {
MessageBox.Show("!");
}
}
}

то при создании ридера возникает ошибка An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll

подскажите, правильный вызов ХП (если такое вообще возможно).


з.ы. текст ХП
*-----------------------------------------------
Procedure VizSelect()
*------------------------------------------------
Select * from viz INTO CURSOR ctmp
SETRESULTSET('ctmp')
Endproc

з.з.ю.
сказать по-правде, несколько боязно задавать такие вопросы на этом форуме после прочтения постов в теме "(C#) Интересно, хорошо это или плохо...
...
Рейтинг: 0 / 0
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33186924
Oxygene
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Попробуй так..

in C#:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
OleDbCommand cmd = new OleDbCommand("getProducts()", cn);
cmd.ExecuteNonQuery();
cmd.CommandText = "SELECT * FROM ttProducts";
OleDbDataReader rdr = cmd.ExecuteReader();
while(rdr.Read())
{
   string s = rdr.GetString( 1 );
   MessageBox.Show(s);
}

in Fox:
Код: plaintext
1.
2.
3.
PROCEDURE getProducts
  SELECT * from rtProducts INTO CURSOR ttProducts
RETURN
ENDPROC 
...
Рейтинг: 0 / 0
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33186958
svvvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
согласен.
ТАК будет работать (собственно так уже и работает), но...
это как-то некрасиво получается... хотя другого выхода помоему и нет к сожалению.

ну раз пошла такая пьянка тогда попутно еще вопрос:
возможно ли выполнение ХП с передачей параметров?
если есть пример - буду очень благодарен!
...
Рейтинг: 0 / 0
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33187001
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33187402
svvvv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
получается, что функция SETRESULTSET() не для ADO.NET?
как ни бился, заставить ее корректно передавать курсок в АДО.НЕТ мне не удалось...
...
Рейтинг: 0 / 0
Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
    #33187417
Sergey Ch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
svvvvполучается, что функция SETRESULTSET() не для ADO.NET?
как ни бился, заставить ее корректно передавать курсок в АДО.НЕТ мне не удалось...
Вы правильно поняли.

А тынц читали? Там как раз показано как обойти с использованием формата XML...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Получение курсора через ADO.NET + OLE.DB 9.0 из ХП в DBC
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]