在不使用Data adaptor.Fill方法的情况下,还有其他快速方法可以在ADO.Net中填充数据表吗?
答案 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
的控件填充数据源。)
[更具体的答案确实需要知道为什么你对此感兴趣。]