从SQL命令文本到DataSet的直接方法

如果我有一个sql命令,获取DataSet的最直接path是什么?

string sqlCommand = "SELECT * FROM TABLE"; string connectionString = "blahblah"; DataSet = GetDataSet(sqlCommand,connectionString); GetDataSet() { //...? } 

我开始使用SqlConnectionSqlCommand ,但是我在API中看到的最接近的是SqlCommand.ExecuteReader() 。 有了这个方法,我需要得到一个SqlDataReader ,然后将其手动转换为一个DataSet 。 我认为有一个更直接的路线来完成任务。

如果更容易,一个DataTable也将符合我的目标。

 public DataSet GetDataSet(string ConnectionString, string SQL) { SqlConnection conn = new SqlConnection(ConnectionString); SqlDataAdapter da = new SqlDataAdapter(); SqlCommand cmd = conn.CreateCommand(); cmd.CommandText = SQL; da.SelectCommand = cmd; DataSet ds = new DataSet(); conn.Open(); da.Fill(ds); conn.Close(); return ds; } 

完成它。

 string sqlCommand = "SELECT * FROM TABLE"; string connectionString = "blahblah"; DataSet ds = GetDataSet(sqlCommand, connectionString); 
 DataSet GetDataSet(string sqlCommand, string connectionString) { DataSet ds = new DataSet(); using (SqlCommand cmd = new SqlCommand( sqlCommand, new SqlConnection(connectionString))) { cmd.Connection.Open(); DataTable table = new DataTable(); table.Load(cmd.ExecuteReader()); ds.Tables.Add(table); } return ds; }