Прямой метод из текста команды SQL в DataSet
Каков самый прямой маршрут для получения DataSet, если у меня есть команда sql?
string sqlCommand = "SELECT * FROM TABLE";
string connectionString = "blahblah";
DataSet = GetDataSet(sqlCommand,connectionString);
GetDataSet()
{
//...?
}
Я начал с SqlConnection
и SqlCommand
, но самое близкое, что я вижу в API, - SqlCommand.ExecuteReader()
. С помощью этого метода мне нужно получить SqlDataReader
, а затем преобразовать его в DataSet
вручную. Я считаю, что есть более прямой путь для выполнения задачи.
Если проще, то DataTable
также будет соответствовать моей цели.
Ответы
Ответ 1
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;
}
Ответ 2
Просто закончите.
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;
}