如果使用sql命令,获取数据集的最直接途径是什么?

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;
}

Sql相关问答推荐

将SEMI JOIN、ANTI JOIN转换为非连接SQL

如何使用PostGIS从单个表中 Select 所有相交面组

前面的语句不喜欢AND LIKE?当try 更新使用ID和日期过滤的表时

在数据库中搜索列

我怎样才能得到列值对应的最大值在另一个?

查询页面推荐

将日期时间转换为日期格式

无法将发票与产品价格相关联

如何在SQL中从多个查询进行分组

如果另一个表中不存在值列,则插入失败

SQL 搜索 - 获取最大值日期的奇怪行为

如何为给定的股票数据集计算利润/亏损,确保先卖出先买入的股票

获取记录的上一个值,并将其与当前值一起显示

PostgreSQL - 递归地聚合来自不同列的属性

为 sqlite 全文搜索 (fts) 创建触发器时出现虚拟表的不安全使用

超过100名员工的连续行

如何在 PL/SQL 中区分返回的 XML 值?

如何通过存储过程将 root 的下一个子 node 作为父 node ?

使用 JSON_BUILD_OBJ 从 Postgres 返回 JSON

在时态表和非时态表之间使用 EXCEPT 的 SQL 子查询给出表达式错误数