2015-02-07 50 views
-1

此代码实际上是用数据集方法编写的。 它工作正常。但我想将其改为datareader方法。我想将此DataSet代码更改为SqlDataReader代码

public DataSet SelectTopic(LessionPlanBEL bellp) 
{ 
    DataSet ds = new DataSet(); 
    try 
    { 
     con.Open(); 
     string query = "Select * from lessiontopic where [email protected] "; 
     SqlDataAdapter da = new SqlDataAdapter(query, con); 
     da.SelectCommand.Parameters.Add("@subject", SqlDbType.Int).Value = bellp.subject; 


     da.Fill(ds); 
    } 
    catch (Exception ex) 
    { 

    } 
    finally 
    { 
     con.Close(); 
    } 
    return ds; 
} 

回答

1

试试这个

public DataSet SelectTopic(LessionPlanBEL bellp) 
      { 
       SqlDataReader dr = new SqlDataReader(); 
       SqlCommand cmd; 
       try 
       { 
        con.Open(); 
        cmd =new SqlCommand("Select * from lessiontopic where [email protected] ",conn); 

        cmd.Parameters.AddWithValue("@subject", bellp.subject.ToString()); 
    dr=cmd.ExecuteReader(); 
       } 
       catch (Exception ex) 
       { 

       } 
       finally 
       { 
        con.Close(); 
       } 

      } 
+0

感谢您考虑我的question.We不能使用SqlDataReader的博士=新SqlDataReader的。因为它没有公共构造函数。这意味着它被设计为由另一个object.object创建。请帮助我...我如何解决这个错误? – 2015-02-07 07:02:25

+0

'SqlCommand.ExecuteReader()'将返回一个'SqlDataReader'。 – Tim 2015-02-07 07:48:21

相关问题