从SQL命令文本到DataSet的直接方法
如果我有一个sql命令,获取DataSet的最直接path是什么?
string sqlCommand = "SELECT * FROM TABLE"; string connectionString = "blahblah"; DataSet = GetDataSet(sqlCommand,connectionString); GetDataSet() { //...? }
我开始使用SqlConnection
和SqlCommand
,但是我在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; }