Есть ли другой способ заполнить таблицу данных в ADO.Net без использования метода dataadaptor.Fill? - PullRequest
3 голосов
/ 28 февраля 2010

Есть ли другой быстрый способ заполнения таблицы данных в ADO.Net без использования метода adaptor.Fill?

Ответы [ 2 ]

7 голосов
/ 28 февраля 2010

Да, вы можете. Вот краткий пример:

var results = new DataTable();
using(var connection = new SqlConnection(...))
using(var command = connection.CreateCommand())
{
   command.Text = "sql statement";
   var parameter = command.CreateParameter();
   parameter.Name = "name";
   parameter.Value = aValue;
   command.Parameters.Add(parameter);

   connection.Open();
   results.Load(command.ExecuteReader());
}
return results;

Если вам просто нужно создать таблицу данных, например, для хранения данных, не поступающих из базы данных, вы можете создать новый DataTable и заполнить его самостоятельно, например так:

var x = new DataTable("myTable");
x.Columns.Add("Field1", typeof(string));
x.Columns.Add("Field2", typeof(string));
x.Columns.Add("Field3", typeof(int));

x.Rows.Add("fred", "hugo", 1);
x.Rows.Add("fred", "hugo", 2);
x.Rows.Add("fred", "hugo", 3);
0 голосов
/ 28 февраля 2010

Вы можете вручную создать DataTables и их содержимое, используя методы различных типов.

Это требует небольшого кода, но это возможно (я сделал это из пользовательской сериализации в .NET 1.1, чтобы заполнить источник данных для элемента управления, который нуждался в DataSet).

[Более конкретный ответ действительно требует знания , почему вас это интересует.]

...