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

спасибо.
...
Рейтинг: 0 / 0
06.12.2005, 15:54
    #33419976
KVS
KVS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из OleDbCommand получить DataTable
Кажется невозможно.
...
Рейтинг: 0 / 0
06.12.2005, 17:12
    #33420293
Smirnov Anton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из OleDbCommand получить DataTable
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
06.12.2005, 17:53
    #33420442
KVS
KVS
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из OleDbCommand получить DataTable
Столько кода :) Зацените использование датаадаптера:
Код: 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
06.12.2005, 18:45
    #33420603
Smirnov Anton
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из OleDbCommand получить DataTable
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
07.12.2005, 17:08
    #33423107
Лиман Артём
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
из OleDbCommand получить DataTable
Smirnov Antonполучается через OleDBDataAdapter, но хочется через OleDbCommand

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

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


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