3

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

4

2 回答 2

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);
于 2010-02-28T10:59:30.503 回答
0

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

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

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

于 2010-02-28T10:50:11.210 回答