powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / temporary table in stored procedure
4 сообщений из 4, страница 1 из 1
temporary table in stored procedure
    #36782804
AlekseyK...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане.

Есть хранимка:
CREATE PROCEDURE TestProc
BEGIN
CREATE TABLE #T
(
ID NUMERIC(10,0),
NAME VARCHAR(10)
)

INSERT INTO #T
SELECT * FROM Test

SELECT NAME FROM #T
END

Вопрос в следующем: почему с помощью OleDbDataReader-а
using (OleDbConnection connection = new OleDbConnection(...))
{
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = connection;
connection.Open();

myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "TmpProc";

DataTable dataTable = new DataTable();
OleDbDataReader oleDbDataReader = myCommand.ExecuteReader();
dataTable.Load(oleDbDataReader);
}
Отрабатывает замечательно без каких-либо проблем.
для OleDbDataAdapter-а же
...
Рейтинг: 0 / 0
temporary table in stored procedure
    #36782808
AlekseyK...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Уважаемые форумчане.

Есть хранимка:
CREATE PROCEDURE TestProc
BEGIN
CREATE TABLE #T
(
ID NUMERIC(10,0),
NAME VARCHAR(10)
)

INSERT INTO #T
SELECT * FROM Test

SELECT NAME FROM #T
END

Вопрос в следующем: почему с помощью OleDbDataReader-а
using (OleDbConnection connection = new OleDbConnection(...))
{
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = connection;
connection.Open();

myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "TmpProc";

DataTable dataTable = new DataTable();
OleDbDataReader oleDbDataReader = myCommand.ExecuteReader();
dataTable.Load(oleDbDataReader);
}
Отрабатывает замечательно без каких-либо проблем.
для OleDbDataAdapter-а же
OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = connection;
connection.Open();

myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "TmpProc";

DataTable dataTable = new DataTable();
OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(myCommand);
oleDbDataAdapter.Fill(dataTable);
данные не отображаются. но стоит убрать из процедуры временную таблицу и все норм.
Кто в курсе, укажите плиз, где этот ньюанс указан в документации?
И есть ли какой-нить способ все таки использовать DataAdapter?
...
Рейтинг: 0 / 0
temporary table in stored procedure
    #36782821
Фотография buser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ех... set nocount on
...
Рейтинг: 0 / 0
temporary table in stored procedure
    #36782841
AlekseyK...
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Огромное спасибо!
следующий код заработал:


OleDbCommand myCommand = new OleDbCommand();
myCommand.Connection = connection;
connection.Open();

myCommand.CommandType = CommandType.Text;
myCommand.CommandText = "set nocount on";
myCommand.ExecuteNonQuery();

myCommand.CommandType = CommandType.StoredProcedure;
myCommand.CommandText = "TmpProc";

DataTable dataTable = new DataTable();
OleDbDataAdapter oleDbDataAdapter = new OleDbDataAdapter(myCommand);
oleDbDataAdapter.Fill(dataTable);
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / temporary table in stored procedure
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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