在一个函数里面,我使用SqlCommand访问数据库,怎样才能使SqlCommand查询的结果转换成DataSet格式呢?或者是否有其他可以直接返回DataSet的方法?

解决方案 »

  1.   

    SqlDataAdapter sda = new SqlDataAdapter(sqlcommand);
            DataSet set = new DataSet();
            sda.Fill(set);
    return set;
      

  2.   

    /// <summary>
    /// 数据提取
    /// </summary>
    /// <param name="sSql">查询串</param>
    /// <returns>查询的结果数据表</returns>
    public DataSet QueryDs(string sSql)
    {
    if(sSql==null||sSql==string.Empty)
    return null;
    try
    {
    SqlDataAdapter sqlDap = new SqlDataAdapter(sSql,sqlConn);
    DataSet ds = new DataSet();
    sqlDap.Fill(ds);
    return ds;
    }
    catch(SqlException ex)
    {
    MessageBox.Show(ex.Message);
    return null;
    }
    finally
    {
    //this.sqlConn.Close();
    }
    }
    应该可以的~!
      

  3.   

    明白,谢谢两位,但是可以使用“储存过程”吗?在SqlDataAdapter中如何使用储存过程?
      

  4.   

    Please take a look at http://www.asp.net/quickstart/
      

  5.   

    /// <summary>
    /// 返回值为DataSet类型的操作
    /// </summary>
    /// <param name="strSQL"></param>
    /// <returns></returns>
    public static DataSet ExecuteSqlDS(string strSQL,string tablename)
    {
    SqlConnection conn = new SqlConnection(strConn);
    try
    {
    conn.Open();
    SqlDataAdapter sda = new SqlDataAdapter(strSQL, conn);
    DataSet ds = new DataSet("ds");
    sda.Fill(ds,tablename);   //调用SqlDataAdapter的Fill方法,为DataSet填充数据
    return ds;  //返回得到的DataSet对象,保存了从数据库查询到的数据
    }
    catch (SqlException e)
    {
    throw new Exception(e.Message);
    }
    finally
    {
    conn.Close();
    }
    }
      

  6.   

    我都是调用储存过程来获取数据的,储存过程需要好几个参数,但是在SqlDataAdapter中如何使用储存过程呢?
      

  7.   

    存储过程一样的用
    SqlCommand   cmd =   new   SqlCommand("StoreProcedureName",   con);  
    cmd.CommandType   =   CommandType.StoredProcedure;  
    SqlParameter   myParm   =   cmd.Parameters.Add("@username",   SqlDbType.NVarChar,   50);  
    myParm.Value   =   "testname";   
    SqlDataAdapter sda = new SqlDataAdapter(cmd);
    DataSet set = new DataSet();
    sda.Fill(set);
    return set