2015-02-07 55 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

相關問題