十天(tiān)學會ASP.net之第六天
學習目的:學會(huì)讀取數(shù)據庫
有的(de)網友(yǒu)說,不會C#,在(zài)ASP.NET裏麵(miàn)還是選擇VB.NET,這個我(wǒ)不反對,但是(shì)我(wǒ)覺得既然是(shì)學習新的東西(xī),就不要在意有多少是新的(de)。實際上(shàng)C#就一般(bān)的操作來說,隻是(shì)區分大小寫和(hé)多了一個分號這兩點與VB.NET不同(tóng)其他都差不多(duō)啊(ā)。在ASP裏麵我們讀取數據就直接用RECORDSET,然後在HTML代碼裏麵(miàn)穿插<%= %>就可以顯示了(le),但是ASP.NET講究的是代碼(mǎ)分(fèn)離(lí),如果(guǒ)還是這樣(yàng)顯示數據就不能代(dài)碼(mǎ)分離(lí)了。所以我們有兩種方法:如果是(shì)讀取(qǔ)一條記錄的數據(jù)或者不(bú)多的數(shù)據,我們用(yòng)DATAREADER采集數據,然後賦值給(gěi)LABEL控件的(de)Text屬性(xìng)即可;如果(guǒ)是讀取(qǔ)大量數據我們就(jiù)采用DATAGRID。
今天我們就來說(shuō)一下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ì)連接(jiē)數據庫然後打開,對於select的命令,我們申明一個(gè)OleDbCommand來執行(háng)之,然後再申明一個OleDbDataReader,來讀取(qǔ)數據,用的(de)是ExecuteReader(),objDataReader.Read()就(jiù)開始讀取了,在輸出的時候我們要(yào)注意Text屬性(xìng)接受的隻能是字符串,所以我們要把(bǎ)讀出的數(shù)據都轉化為字符串才(cái)行。
轉換變量類型函數:
轉(zhuǎn)換為字符(fú)串(chuàn):Convert.ToString()
轉換為數字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照數字位數由長到短
轉換(huà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("這裏是(shì)SQL語(yǔ)句(jù)" , 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
其實大家比較一下(xià)C#和VB的語(yǔ)法,會發覺用(yòng)C#似乎更加(jiā)簡單,教程裏麵我側重(chóng)C#,對於VB的代碼我就不解(jiě)釋了。
下麵說一下如果代碼是讀取SQL數據庫,我們這(zhè)樣(yàng)來轉變
1、把代碼開始的
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.OleDb"%>
修改為(wéi)
<%@Import Namespace="System.Data"%>
<%@Import Namespace="System.Data.SqlClient"%>
2、把代碼裏麵所有申(shēn)明的對象OleDb××變為Sql××就這麽簡單
你甚至可(kě)以用替換所有來解決(jué),所以今後我講不再列(liè)出Sql Server的代碼了。
今(jīn)天就說(shuō)到這裏,明天開始說數據的添加(jiā)、刪除、修改。
關鍵詞:ASP.net
閱(yuè)讀本(běn)文後您有(yǒu)什(shí)麽感想? 已有 人給出評價!
- 0
- 0
- 0
- 0
- 0
- 0