第六天 學習目的:學會讀取數(shù)據(jù)庫
有的網(wǎng)友說,不會C#,在ASP.NET里面還是選擇VB.NET,這個我不反對,但是我覺得既然是學習新的東西,就不要在意有多少是新的。實際上C#就一般的操作來說,只是區(qū)分大小寫和多了一個分號這兩點與VB.NET不同其他都差不多啊。在ASP里面我們讀取數(shù)據(jù)就直接用RECORDSET,然后在HTML代碼里面穿插<%= %>就可以顯示了,但是ASP.NET講究的是代碼分離,如果還是這樣顯示數(shù)據(jù)就不能代碼分離了。所以我們有兩種方法:如果是讀取一條記錄的數(shù)據(jù)或者不多的數(shù)據(jù),我們用DATAREADER采集數(shù)據(jù),然后賦值給LABEL控件的Text屬性即可;如果是讀取大量數(shù)據(jù)我們就采用DATAGRID。
今天我們就來說一下DATAREADER:
string strConnection="Provider=Microsoft.Jet.OleDb.4.0;Data Source="; strConnection+=Server.MapPath(strDb); OleDbConnection objConnection=new OleDbConnection(strConnection); OleDbCommand objCommand = new OleDbCommand("這里是SQL語句" , objConnection); objConnection.Open(); OleDbDataReader objDataReader=objCommand.ExecuteReader(); if(objDataReader.Read()) { oicq.Text=Convert.ToString(objDataReader["useroicq"]); homesite.Text=Convert.ToString(objDataReader["usersite"]); face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]); }
大家可以看到我們首先是連接數(shù)據(jù)庫然后打開,對于select的命令,我們申明一個OleDbCommand來執(zhí)行之,然后再申明一個OleDbDataReader,來讀取數(shù)據(jù),用的是ExecuteReader(),objDataReader.Read()就開始讀取了,在輸出的時候我們要注意Text屬性接受的只能是字符串,所以我們要把讀出的數(shù)據(jù)都轉(zhuǎn)化為字符串才行。 轉(zhuǎn)換變量類型函數(shù): 轉(zhuǎn)換為字符串:Convert.ToString() 轉(zhuǎn)換為數(shù)字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照數(shù)字位數(shù)由長到短 轉(zhuǎn)換為日期:Convert.ToDateTime()
dim objConnection as OleDbConnection dim objCommand as OleDbCommand dim objDataReader as OleDbDataReader objConnection=new OleDbConnection(Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath(strDb)) objCommand=new OleDbCommand("這里是SQL語句" , objConnection) objConnection.Open() objDataReader=objCommand.ExecuteReader() if objDataReader.Read() oicq.Text=Convert.ToString(objDataReader["useroicq"]) homesite.Text=Convert.ToString(objDataReader["usersite"]) face.SelectedItem.Text=Convert.ToString(objDataReader["userface"]) end if 其實大家比較一下C#和VB的語法,會發(fā)覺用C#似乎更加簡單,教程里面我側(cè)重C#,對于VB的代碼我就不解釋了。
下面說一下如果代碼是讀取SQL數(shù)據(jù)庫,我們這樣來轉(zhuǎn)變 1、把代碼開始的 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.OleDb"%> 修改為 <%@Import Namespace="System.Data"%> <%@Import Namespace="System.Data.SqlClient"%> 2、把代碼里面所有申明的對象OleDb××變?yōu)镾ql××就這么簡單 你甚至可以用替換所有來解決,所以今后我講不再列出Sql Server的代碼了。 今天就說到這里,明天開始說數(shù)據(jù)的添加、刪除、修改。
|