powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / из OleDbCommand получить DataTable
6 сообщений из 6, страница 1 из 1
из OleDbCommand получить DataTable
    #33419951
Smirnov Anton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хочу выполнить через OleDbCommand хранимую процедуру и получить из неё набор данных, но не могу понять(найти в справке) как это проделать.
получается через OleDBDataAdapter, но хочется через OleDbCommand
автор ExecuteReader
Executes commands that return rows. ...а как эти rows получить бы не через
обход всех строк ридером и занесения их руками в DataTable, а попроще
такое вообще возможно?

спасибо.
...
Рейтинг: 0 / 0
из OleDbCommand получить DataTable
    #33419976
KVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кажется невозможно.
...
Рейтинг: 0 / 0
из OleDbCommand получить DataTable
    #33420293
Smirnov Anton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KVSКажется невозможно.
зацените тогда функцию для заполнения таблицы по ридеру
(типа почти универсальную)
принимаются предложения по быстродействию и по правильности по написанию(второе приложение на C# + ADO.NET :) )
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
		// function for fill DataTable from DataReader!!!PK mast be the fist columns!!!
		virtual protected DataTable GetTableFromReader(OleDbDataReader dr,int first_pk_amount)
		{
			if(dr==null) return null;
			//create table
			string[] Names = new String[dr.FieldCount];
			DataTable dt = new DataTable();
			for(int i= 0 ;i<dr.FieldCount;i++)
			{
				dt.Columns.Add(dr.GetName(i),dr.GetType());
				Names[i] = dr.GetName(i);
			}
			//define primary keys
			if(first_pk_amount> 0 )
			{
				DataColumn[] keys = new DataColumn[first_pk_amount];
				for(int i= 0 ;i<first_pk_amount;i++)
					keys[i] = dt.Columns[i];
			}
			//fill table
			DataRow drow;
			dt.BeginLoadData();
			while(dr.Read())
			{
				drow = dt.NewRow();
				drow.BeginEdit();
				for(int i= 0 ;i<dr.FieldCount;i++)
				 drow[i] = dr.GetValue(i);
				drow.EndEdit();
				dt.Rows.Add(drow);
			}
			dt.EndLoadData();
			return dt;
		}
...
Рейтинг: 0 / 0
из OleDbCommand получить DataTable
    #33420442
KVS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Столько кода :) Зацените использование датаадаптера:
Код: plaintext
1.
2.
3.
4.
5.
OleDbCommand cmd = new OleDbCommand();
// Иницализация вашей команды
OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
...
Рейтинг: 0 / 0
из OleDbCommand получить DataTable
    #33420603
Smirnov Anton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KVSСтолько кода :) Зацените использование датаадаптера:
Код: plaintext
1.
2.
3.
4.
5.
OleDbCommand cmd = new OleDbCommand();
// Иницализация вашей команды
OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);

во блин
я примерно про это и спрашивал в первом посте
Спасиба
...
Рейтинг: 0 / 0
из OleDbCommand получить DataTable
    #33423107
Фотография Лиман Артём
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Smirnov Antonполучается через OleDBDataAdapter, но хочется через OleDbCommand

Smirnov Anton
во блин
я примерно про это и спрашивал в первом посте
Спасиба

что то я не понял, тебе хочеца через OleDBDataAdapter или нет? ;)
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / из OleDbCommand получить DataTable
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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