none
dataset, datareader 的使用關係?? RRS feed

  • 問題

  • 各位達人好

     

    請問關於二者 ,datareader裡放dataset好像不行!!

    若 dataset1

    datareader1

    datareader2

    dataset2

     

    這樣用,會有問題嗎??

     

    請您指導!!  感謝您!!

     

     

    2008年1月23日 上午 03:55

解答

  • SqlDataAdapter 會自動控制連線關閉,所以沒有這個問題。

    但 DataReader 只要一開,連線就會被佔,有幾個 DataReader 就佔幾條連線。

    連線一關,DataReader 就失效,存 DataReader 也沒用。

     

    要多思考系統的穩定度,而不是老在想要怎麼才能讓程式寫的最少 ... 。

     

    2008年1月23日 上午 04:27
    版主

所有回覆

  • 廢話,當然不行啊。

    DataReader 需要有效的 Connection 才可以工作。

     

    至於你的那個排列,我看不懂。

     

    2008年1月23日 上午 04:00
    版主
  • 小朱大您好

    您的意思是說 當dataset使用時,conn就一直被佔直到conn.close ??

     

    另那排列是像這樣 :

    conn.open

    SqlDataAdapter da = new SqlDataAdapter(sql, conn);
     DataSet ds = new DataSet();
    da.Fill(ds, "table1");

    if(){

    SqlCommand cmd_Count = new SqlCommand(sql, conn);
    SqlDataReader dr_Count = cmd_Count.ExecuteReader();

    }

    if(){

    SqlCommand cmd2_Count = new SqlCommand(sql, conn);
    SqlDataReader dr2_Count = cmd2_Count.ExecuteReader();

    }

    conn.close

    2008年1月23日 上午 04:20
  • SqlDataAdapter 會自動控制連線關閉,所以沒有這個問題。

    但 DataReader 只要一開,連線就會被佔,有幾個 DataReader 就佔幾條連線。

    連線一關,DataReader 就失效,存 DataReader 也沒用。

     

    要多思考系統的穩定度,而不是老在想要怎麼才能讓程式寫的最少 ... 。

     

    2008年1月23日 上午 04:27
    版主
  • 大師真是性情中人,小的還須加把勁,還有SqlCommand也覺得用起來有不順的,

    請問這個物件也是像sqlDataReader的連線關係??

     

    感謝您!!

    2008年1月23日 上午 05:03
  • 1. 大師?算了吧,我還差的遠。

    2. SqlDataReader 一定要經由 SqlCommand.ExecuteReader() 才能產生,你說有沒有關係?

     

    2008年1月23日 上午 05:11
    版主