有没有其他方法可以在不使用dataadaptor.Fill方法的情况下在ADO.Net中填充数据表?

时间:2010-02-28 10:45:55

标签: ado.net datatable fill

在不使用Data adaptor.Fill方法的情况下,还有其他快速方法可以在ADO.Net中填充数据表吗?

2 个答案:

答案 0 :(得分:7)

是的,你可以。这是一个简短的例子:

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);

答案 1 :(得分:0)

您可以使用所涉及的各种类型的方法手动创建DataTables及其内容。

这确实需要一些代码,但是可能(我已经从.NET 1.1中的自定义序列化中完成了为需要DataSet的控件填充数据源。)

[更具体的答案确实需要知道为什么你对此感兴趣。]