¡¾·±ÌåÖÐÎÄ¡¿
¡¾ÉèΪÊ×Ò³¡¿
¡¾¼ÓÈëÊղء¿
µ±Ç°Î»Öãº.Net¼¼ÊõÊ×Ò³ >> Asp.Net¿ª·¢ >> ASP.NET 2.0ÖÐÖ´ÐÐÊý¾Ý¿â²Ù×÷ÃüÁîÖ®Ò»

ASP.NET 2.0ÖÐÖ´ÐÐÊý¾Ý¿â²Ù×÷ÃüÁîÖ®Ò»

2007-09-15 08:00:00  ×÷Õߣº  À´Ô´£º»¥ÁªÍø  ä¯ÀÀ´ÎÊý£º0  ÎÄ×Ö´óС£º¡¾´ó¡¿¡¾ÖС¿¡¾Ð¡¡¿
¼ò½é£º¡¡¡¡SqlDataReaderÀà ¡¡¡¡¿ÉÒÔÓÃSqlDataReaderÀà¶ÔÏó´ÓSQL ServerÊý¾Ý¿âÖжÁÈ¡ÐУ»ÓÃOleDbDataReaderÀà¶ÔÏó´ÓÖ§³ÖOLE DBµÄÊý¾Ý¿âÖжÁÐУ¬ÈçOracleÓëAccess£»ÓÃOdbcDataReaderÀà¶ÔÏó´ÓÖ§³ÖODBCµÄÊý¾Ý¿âÖжÁÈ¡ÐС£...

¡¡¡¡SqlDataReaderÀà

¡¡¡¡¿ÉÒÔÓÃSqlDataReaderÀà¶ÔÏó´ÓSQL ServerÊý¾Ý¿âÖжÁÈ¡ÐУ»ÓÃOleDbDataReaderÀà¶ÔÏó´ÓÖ§³ÖOLE DBµÄÊý¾Ý¿âÖжÁÐУ¬ÈçOracleÓëAccess£»ÓÃOdbcDataReaderÀà¶ÔÏó´ÓÖ§³ÖODBCµÄÊý¾Ý¿âÖжÁÈ¡ÐС£

¡¡¡¡DataReader¶ÔÏóÔÊÐíÄãÒÔÏòǰµÄ£¬Ö»¶ÁµÄ·½Ê½¶ÁÈ¡Êý¾Ý£¬ÓÐʱºòDataReader¶ÔÏóÒ²³ÆÎªÏûÈí¹ÜÓαꡣDataReader¶ÔÏó²ÉÓÃÁËÒ»ÖÖ¼ò»¯µÄÊý¾Ý¶ÁÈ¡·½Ê½£¬µ«ÊÇÌá¸ßÁËÐÔÄܵÄͬʱҲÎþÉüÁ˺ܶàÌØÐÔ¡£ÀýÈçÔÚDataSetÖÐÖ§³ÖµÄÅÅÐò£¬·ÖÒ³µÈ¹¦ÄÜ¡£ÕâЩ¹¦Äܽ«ÔÚÒÔºóµÄÕ½ڽøÐÐÏêϸµÄ½éÉÜ¡£

¡¡¡¡SqlDataReaderµÄÊôÐÔ

ÊôÐÔ

˵Ã÷

Depth

Æä·µ»ØÀàÐÍΪint£¬È¡µÃ±íʾµ±Ç°ÐÐǶÈëÉî¶ÈµÄÖµ

FieldCount

Æä·µ»ØÀàÐÍΪint,È¡µÃµ±Ç°ÐеÄÁÐÊý

IsColsed

Æä·µ»ØÀàÐÍΪbool,È¡µÃÒ»¸ö²¼¶ûÖµ£¬±íʾÊÇ·ñ¹Ø±ÕÊý¾Ý¶ÁÈ¡

RecordsAffected

Æä·µ»ØÀàÐÍΪint, È¡µÃÖ´ÐÐSQLÓï¾äÔö¼Ó¡¢Ð޸Ļòɾ³ýµÄÐÐÊý¡£

¡¡¡¡SqlDataReaderµÄ·½·¨

·½·¨

˵Ã÷

Reader()

Æä·µ»ØÀàÐÍΪbool,½«Êý¾ÝÔĶÁÆ÷ÒÆµ½½á¹û¼¯µÄÏÂÒ»Ðв¢¶ÁÈ¡¸ÃÐС£Õâ¸ö·½·¨·µ»ØµÄ²¼¶ûÖµ±íʾ½á¹û¼¯ÖÐÊÇ·ñÓжàÐÐ

GetValue()

Æä·µ»ØÀàÐÍΪobject, ·µ»ØÖ¸¶¨ÁеÄÖµ

GetValues()

Æä·µ»ØÀàÐÍΪint,½«µ±Ç°ÐÐÖÐËùÓÐÁеÄÖµ¸´ÖƵ½Ö¸¶¨¶ÔÏóÊý×é¡£Õâ¸ö·½·¨·µ»ØµÄintÊÇÊý×éÔªËØµÄ¸öÊý

NextResult()

Æä·µ»ØÀàÐÍΪbool,½«Êý¾ÝÔĶÁÆ÷ÒÆµ½½á¹û¼¯µÄÏÂÒ»ÐС£Õâ¸ö·½·¨·µ»ØµÄ²¼¶ûÖµ±íʾ½á¹û¼¯ÖÐÊÇ·ñÓжàÐÐ

Close() ¹Ø±Õ

SqlDataReader ¶ÔÏó

GetInt32(),GetChar(),

GateDataTime(),Get×××()

·µ»ØÖ¸¶¨ÁеÄÖµ£¬²¢ÇÒ·µ»ØµÄÀàÐÍΪÏàÓ¦µÄÊý¾ÝÀàÐÍ¡£ÀýÈçGetInt32()·µ»ØÕûÐ͵ÄÊýÖµ¡£×¢Ò⣬Èç¹ûÄ㽫·µ»ØÖµ¸³ÓèÒ»¸öÀàÐͲ»Æ¥ÅäµÄ±äÁ¿Ê±£¬½«»áÅ׳öÒ»¸öInvalidCastExceptionÒì³£

¡¡¡¡ ÓÃExecuteReader()·½·¨Ö´Ðвéѯ

¡¡¡¡ÏÂÃæÊÇÒ»¸öÓÃExecuteReader()·½·¨Ö´ÐÐSELECTÓï¾äµÄ·¶Àý¡£Õâ¸ö·½·¨ÓÃDataReader¶ÔÏ󷵻ؽá¹û¼¯£¬È»ºó¿ÉÒÔÓô˶ÔÏó¶ÁÈ¡Êý¾Ý¿â·µ»ØµÄÐС£

¡¡¡¡·¶Àý³ÌÐò´úÂëÈçÏ£º

01 public partial class _Default : System.Web.UI.Page

02 {

03 ¡¡protected void Page_Load(object sender, EventArgs e)

04 ¡¡{

05 ¡¡¡¡string connectionString =

06 ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;

07 ¡¡¡¡SqlConnection con = new SqlConnection(connectionString);

08 ¡¡¡¡string sql = "SELECT top 5 CustomerID,CompanyName,ContactName,Address

09 ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡FROM Customers";

10 ¡¡¡¡SqlCommand cmd = new SqlCommand(sql, con);

11 ¡¡¡¡con.Open();

12 ¡¡¡¡SqlDataReader reader = cmd.ExecuteReader();

13 ¡¡¡¡StringBuilder HTMLStr = new StringBuilder("");

14 ¡¡¡¡while (reader.Read())

15 ¡¡¡¡{

16 ¡¡¡¡¡¡HTMLStr.Append("CustomerID£º" + reader["CustomerID"] + "
");

17 ¡¡¡¡¡¡HTMLStr.Append("CompanyName£º" + reader["CompanyName"] + "
");

18 ¡¡¡¡¡¡HTMLStr.Append("ContactName£º" + reader.GetString(2) + "
");

19 ¡¡¡¡¡¡HTMLStr.Append("Address£º" + reader.GetString(3) + "
");

20 ¡¡¡¡¡¡HTMLStr.Append("


");

21 ¡¡¡¡}

22 ¡¡¡¡reader.Close();

23 ¡¡¡¡con.Close();

24 ¡¡¡¡HTMLContent.Text = HTMLStr.ToString();

25 ¡¡}

26 }

¡¡¡¡³ÌÐò´úÂë˵Ã÷£ºÔÚÉÏÊöÓï·¨·¶ÀýµÄ³ÌÐò´úÂëÖУ¬µÚ5µ½12ÐдúÂëÉú³ÉËùÒªµÄ¶ÔÏó²¢Ö´ÐÐSELECTÓï¾ä£¬´ÓCustomers±íÖжÁȡǰ5Ìõ¼Ç¼¡£cmd·µ»ØµÄ½á¹û¼¯´æ·ÅÔÚreader¶ÔÏóÖУ¬È»ºóÄã¿ÉÒÔÓÃReader()·½·¨¶ÁÈ¡reader¶ÔÏóµÄ¼Ç¼¡£Õâ¸ö·½·¨ÔÚÓÐÁíÒ»¸ö¿É¶ÁµÄÐÐʱ·µ»Ø²¼¶ûÕæÖµ£¬·ñÔò·µ»Ø²¼¶û¼ÙÖµ¡£¿ÉÒÔ´Óreader¶ÔÏóÖжÁȡһ¸ö¼Ç¼µÄ¸÷¸öÁÐÖµ£¬Ö»ÒªÔÚ·½À¨ºÅÖд«ÈëÁÐÃû¼´¿É¡£ÈçµÚ16ºÍ17ÐÐËùʾ£¬ÎÒÃÇÓÃreader[¡°CustomerID¡±]¶ÁÈ¡CustomerIDÁеĸ÷ÏîÄÚÈÝ¡£ÄãÒ²¿ÉÒÔÖ±½ÓÔÚ·½À¨ºÅÖд«ÈëÊý×ÖÖµÖ¸¶¨ÏëÒªÁеÄË÷Òý¡£ÈçµÚ18ºÍ19ÐдúÂëËùÏÔʾ£¬ÓÉÓÚÎÒÃÇÔÚÓÃSELECT½øÐÐÊý¾Ý²éѯµÄʱ£¬ContactNameºÍAddress·Ö±ðλÓÚµÚ3ºÍµÚ4ÁУ¬¶øÏàÓ¦µÄË÷ÒýÖµÔòΪ2ºÍ3£¬ËùÒÔÎÒÃÇ¿ÉÒÔÓÃreader.GetString(2)ºÍreader.GetString(3)¶ÁÈ¡ContactNameºÍAddressÁеÄÊý¾Ý¡£ÈçµÚ14ÐдúÂëËùʾ£¬ÎÒÃÇ¿ÉÒÔÔÚWhileÑ­»·ÖÐÓÃReader()·½·¨Ò»Ò»¶ÁȡÿÌõ¼Ç¼¡£

¡¡¡¡Ö´Ðнá¹û£º

¡¡¡¡Ã¿´Î³ÌÐòÖ´ÐÐÃüÁîʱ£¬¶¼Òª½«ÏàÓ¦µÄÃüÁîͨ¹ýÍøÂç´«µÝµ½Êý¾Ý¿âÖУ¬²¢ÔÚÊý¾Ý¿â½øÐÐÖ´ÐУ¬È»ºó½«½á¹û·µ»Øµ½³ÌÐòÖУ¬´Ó¶ø²úÉú´óÁ¿µÄÍøÂçͨÐÅÁ÷¡£ÎÒÃÇ¿ÉÒÔʹÓÃExecuteReader()·½·¨Í¬Ê±Ö´ÐжàÌõSELECTÓï¾ä²éѯ¼õÉÙÖØ¸´µÄÊý¾Ý´«µÝ¡£

¡¡¡¡ÏÂÃæµÄʵÀýÊÇʹÓÃExecuteReader()·½·¨Í¬Ê±²éѯÈý¸ö±íÖеÄÊý¾Ý£¬²¢½«·µ»ØµÄÈý¸ö½á¹û¼¯ÏÔʾÔÚÒ³ÃæÉÏ¡£

¡¡¡¡·¶Àý³ÌÐò´úÂëÈçÏ£º

01 public partial class _Default : System.Web.UI.Page

02 {

03 ¡¡protected void Page_Load(object sender, EventArgs e)

04 ¡¡{

05 ¡¡¡¡string connectionString =

06 ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;

07 ¡¡¡¡SqlConnection con = new SqlConnection(connectionString);

08 ¡¡¡¡SqlCommand cmd = con.CreateCommand();

09 ¡¡¡¡cmd.CommandText = "SELECT TOP 3 ProductID,ProductName

10 ¡¡¡¡FROM Products ORDER BY ProductID;" +

11 ¡¡¡¡¡¡"SELECT TOP 3 CustomerID,CompanyName

12 ¡¡¡¡¡¡FROM Customers ORDER BY CustomerID;" +

13 ¡¡¡¡¡¡¡¡"SELECT TOP 3 OrderID,CustomerID

14 ¡¡¡¡¡¡¡¡FROM Orders ORDER BY OrderID;";

15 ¡¡¡¡con.Open();

16 ¡¡¡¡SqlDataReader reader = cmd.ExecuteReader();

17 ¡¡¡¡StringBuilder htmStr=new StringBuilder("");

18 ¡¡¡¡int i = 0;

19 ¡¡¡¡do

20 ¡¡¡¡{

21 ¡¡¡¡¡¡htmStr.Append("½á¹û¼¯");

22 ¡¡¡¡¡¡htmStr.Append(i.ToString());

23 ¡¡¡¡¡¡htmStr.Append("
");

24 ¡¡¡¡¡¡while (reader.Read())

25 ¡¡¡¡¡¡{

26 ¡¡¡¡¡¡¡¡htmStr.Append("reader[0]=" + reader[0]);

27 ¡¡¡¡¡¡¡¡htmStr.Append("
");

28 ¡¡¡¡¡¡¡¡htmStr.Append("reader[1]=" + reader[1]);

29 ¡¡¡¡¡¡¡¡htmStr.Append("

");

30 ¡¡¡¡¡¡}

31 ¡¡¡¡¡¡htmStr.Append("


");

32 ¡¡¡¡¡¡i++;

33 ¡¡¡¡} while (reader.NextResult());

34 ¡¡¡¡reader.Close();

35 ¡¡¡¡con.Close();

36 ¡¡¡¡HTMLContent.Text = htmStr.ToString();

37 ¡¡}

38 }

¡¡¡¡³ÌÐò´úÂë˵Ã÷£ºÔÚÉÏÊöÓï·¨·¶ÀýµÄ³ÌÐò´úÂëÖУ¬µÚ9Ðе½µÚ14Öж¨ÒåÁË3¸ö²éѯÓï¾ä£¬¸÷Óï¾äÖ®¼äÓ÷ֺŽøÐмä¸ô¡£µÚ16Ðе÷ÓÃExecuteReader()·½·¨£¬²¢·µ»ØSqlDataReader¶ÔÏ󣬲¢ÇÒ¶ÔÈýÌõ²»Í¬µÄSELECTÓï¾ä¸÷·µ»ØÒ»¸ö½á¹û¼¯¡£Òª¶ÁÈ¡µÚÒ»¸ö½á¹û¼¯µÄ»°£¬¿ÉÒÔÓÃSqlDataReader¶ÔÏóµÄReader()·½·¨¡£Reader()·½·¨ÔÚûÓÐÆäËûµÄ¿É¶ÁÐÐʱ½«·µ»ØÒ»¸öfalseÖµ¡£µ±Ò»¸ö½á¹û¼¯µÄËùÓмǼ¶¼¶ÁÈ¡Íê±Ïºó£¬¿ÉÒÔµ÷ÓÃSqlDataReader¶ÔÏóµÄNextResult()·½·¨£¬È»ºóÔÚ¶ÁÈ¡ÏÂÒ»¸ö½á¹û¼¯£¬ÔÚûÓÐÆäËûµÄ½á¹û¼¯Ê±£¬Ò²·µ»ØÒ»¸öfalseÖµ¡£

¡¡¡¡Ìáʾ£ºÍâÑ­»·do¡­while²âÊÔ½áβµÄreader. NextResult()µÄ·µ»ØÖµ¡£ÓÉÓÚdo¡­whileÑ­»·Ä©Î²¼ì²âÕâ¸öÌõ¼þ£¬ÕâÑù¾Í±£Ö¤ÁËdo¡­whileÑ­»·ÖÁÉÙÖ´ÐÐÒ»´Î¡£Ö®ËùÒÔÔÚĩβ²Åµ÷ÓÃNextResult()·½·¨£¬ÊÇÒòΪÕâÑù¿ÉÒÔÊ×ÏȰÑSqlDataReader¶ÔÏóÒÆµ½ÏÂÒ»¸ö½á¹û¼¯£¬È»ºó²Å·µ»Ø±íʾÊÇ·ñ»¹ÓÐÏÂÒ»¸ö½á¹û¼¯µÄ²¼¶û½á¹û¡£Èç¹ûʹÓÃwhileÑ­»·ÖУ¬ÔòÓпÉÄÜÖ±½ÓÌø¹ýµÚÒ»¸ö½á¹û¼¯£¬´Ó¶ø²úÉú´íÎó¡£

¡¡¡¡ÓÃExecuteScalar()·½·¨Ö´ÐÐSELECTÓï¾ä

¡¡¡¡ÓÃExecuteScalar()·½·¨Ö´ÐÐSELECTÓï¾ä£¬·µ»Øµ¥¸öÖµ£¬²¢ÇÒºöÂÔÆäËûµÄÈκζÁÈ¡µÄ½á¹û¡£ExecuteScalar()·½·¨·µ»ØµÄ½á¹ûÊÇÒ»¸öobject¶ÔÏó¡£ExecuteScalar()Ö÷ÒªÊÇÓÃÀ´Ö´ÐÐSELECTÓï¾ä£¬»òÕßÖ´ÐаüÀ¨¾ÛºÏº¯ÊýµÄSQLÓï¾ä¡£

¡¡¡¡ÏÂÃæÎÒÃǽ«Ê¹ÓÃÈçϵijÌÐò¶ÁÈ¡Products±íÖеļǼÌõÊý£¬²¢ÇÒÔÚÏàÓ¦µÄ²éѯÓï¾äÖÐʹÓÃCOUNT()¾ÛºÏº¯Êý¡£

¡¡¡¡·¶Àý³ÌÐò´úÂëÈçÏ£º

01 public partial class _Default : System.Web.UI.Page

02 {

03 ¡¡protected void Page_Load(object sender, EventArgs e)

04 ¡¡{

05 ¡¡¡¡string connectionString =

06 ¡¡¡¡¡¡ConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;

07 ¡¡¡¡SqlConnection con = new SqlConnection(connectionString);

08 ¡¡¡¡SqlCommand cmd = con.CreateCommand();

09 ¡¡¡¡cmd.CommandText = "SELECT COUNT(*) FROM Products";

10 ¡¡¡¡con.Open();

11 ¡¡¡¡int returnValue = (int)cmd.ExecuteScalar();

12 ¡¡¡¡HTMLContent.Text = "Products±íÖй²ÓÐ" + returnValue.ToString()+"Ìõ¼Ç¼";

13 ¡¡}

14 }

¡¡¡¡³ÌÐò´úÂë˵Ã÷£ºÔÚÉÏÊöÓï·¨·¶ÀýµÄ³ÌÐò´úÂëÖУ¬µÚ9Ðм´Îª²éѯProducts±íÖеļǼÌõÊýµÄSQLÓï¾ä¡£µÚ11ÐдúÂëÓÃExecuteScalar()·½·¨Ö´ÐÐSELECTÓï¾ä¡£×¢Ò⣬ÓÉÓÚExecuteScalar()·½·¨µÄ½á¹ûΪobject¶ÔÏó£¬Òò´ËÎÒÃÇÒª½«Æä½øÐÐÇ¿ÖÆÀàÐÍת»»£¬ÔÙ¸³ÓèÏàÓ¦µÄ±äÁ¿¡£

¡¡¡¡Ö´Ðнá¹û£º

ÔðÈα༭£ºadmin
±¾ÎÄÒýÓõØÖ·£º http://www.3pcode.com/net/2007/09/90697.htm
Ïà¹ØÎÄÕÂ