久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

ExecuteReader的用法

 聽風的歌00 2011-11-19
ExecuteReader的用法
2011-06-28 16:26

最近在做winform的編程,,想到一真沒有使用過ExecuteReader,。可能以前以后它的用戶不大,,或者

不大好用,故沒有用過。今天在這里將學習記錄寫下來,,供讀者參考:

1、MSDN上說:Sends the CommandText to the Connection and builds a SqlDataReader.

                  (這句話就不翻譯了)

2,、實例片段:

 [C#]
public void CreateMySqlDataReader(string mySelectQuery, SqlConnection myConnection)
{

string sql;//sql語句
    SqlCommand myCommand = new SqlCommand(sql, myConnection);
    myConnection.Open();
    SqlDataReader myReader;
    myReader = myCommand.ExecuteReader();
    try
    {
      while(myReader.Read())
      {
        Console.WriteLine(myReader.GetString(0));
      }
    }
    finally
    {
      myReader.Close();
      myConnection.Close();
    }
}


3,、下面說說它的用法:

①:

用法:ExecuteReader 方法存在的目的只有一個:盡可能快地對數(shù)據(jù)庫進行查詢并得到結(jié)果。ExecuteReader 返回一個                 DataReader對象:如果在SqlCommand對象中調(diào)用,,則返回SqlDataReader,;如果在OleDbCommand對象中調(diào)用,返回的是OleDbDataReader,??梢哉{(diào)用DataReader的方法和屬性迭代處理結(jié)果集。它是一個快速枚舉數(shù)據(jù)庫查詢結(jié)果的機制,,是只讀,、只進的。對SqlDataReader.Read的每次調(diào)用都會從結(jié)果集中返回一行,。

②:

這是出自我平時所用的時候的一些認識:那就是如果我們在進行數(shù)據(jù)操作時,,如果沒有數(shù)據(jù)可操作,那么我們只能使用ExecuteReader()這個CMD,而executeNoeQuery()與Executescalar()如果在沒有數(shù)據(jù)的時候使用時,,就會出錯“對像沒有實例化”的錯誤,。所以我們在判斷是否有數(shù)據(jù)時,只可以用ExecuteReader()中的REad()方法來檢測,。

④:

DataReader還有一個GetValue方法可以用來檢索字段的值,。GetValue返回一個一般性的Object,但是被無數(shù)個返回強類型的Get方法補充,,比如GetInt32和GetDecimal(參考MSDN2005),。對GetOrdinal的調(diào)用是必須的,因為GetDecimal只接受整型索引,。GetOrdinal所做的工作正好與GetName相反——它把字段名轉(zhuǎn)換成數(shù)字索引,。

注意:DataReader必須處理Close方法。

using System.Data.SqlClient;

...

SqlConnection conn = new SqlConnection(@"server=ws7\leosql;database=AdventureWorks;uid=sa;pwd=lixiang@");

try

{

conn.Open();

SqlCommand cmd = new SqlCommand("SELECT * FROM titles WHERE advance != 0", conn);

SqlDataReader reader = cmd.ExecuteReader();

int index = reader.GetOrdinal("advance");

while(reader.Read())

   Console.WriteLine("{0:c}", reader.GetDecimal(index));

   =================================

   -- Console.WriteLine(reader.GetName(0));

   =================================

''reader.Close();''

}

catch(SqlException ex)

{

Console.WriteLine(ex.Message);

}

finally

{

========================================================

-- 可以配置DataReader,,使它真的可以關(guān)閉一個底層連接

-- reader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

========================================================

conn.Close();

}

⑤:

現(xiàn)在來強調(diào)下:現(xiàn)在來說下ExecuteReader的read()方法,它就是讀取一個表的記錄,,即執(zhí)行讀,每次調(diào)用都是返回一行的結(jié)果集,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多