从这个SQL查询生成DataTable
的行数最少的代码是什么?
SELECT *
FROM [Table1]
WHERE ([Date] BETWEEN @Date1 AND @Date2) AND
([Field1] IS NULL OR [Field2] IS NULL)
答案 0 :(得分:15)
使用SqlDataAdapter填充DataTable。
DataTable dt = new DataTable();
using (SqlConnection yourConnection = new SqlConnection("connectionstring"))
{
using (SqlCommand cmd = new SqlCommand("....your sql statement", yourConnection))
{
using (SqlDataAdapter da = new SqlDataAdapter(cmd))
{
da.Fill(dt);
}
}
}
SqlConnection
,SqlCommand
和SqlDataAdapter
使用using阻止,因为它们实现了IDisposable
接口。还可以使用Parameterized查询
答案 1 :(得分:2)
试试这个
SqlCommand command = new SqlCommand(query, conn);
DataTable dt = new DataTable();
using(SqlDataReader reader = command.ExecuteReader())
{
dt.Load(reader);
}
答案 2 :(得分:1)
SqlDataAdaptor和FillSchema
它会动态创建你的表
应用于数据集
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldataadapter.aspx
应用于DataTable