熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

八天學會ASP.net(5)

2013-11-13 12:18:30  來源: .NET編程 

  第五天

  學習目的學會連接兩種數據庫學會讀取數據庫

  一學會連接兩種數據庫

  對於ASP來說我們常用的數據庫無非是ACCESS和SQL SERVER對於ASPNET也是不過ASPNET對於SQL SERVER有專門的連接組件而不推薦用OLE DB

  首先看一下ACCESS的連接數據庫並打開

string strConnection=Provider=MicrosoftJetOleDb;Data Source=;
strConnection+=ServerMapPath(*mdb); //*就是數據庫的名字
OleDbConnection objConnection=new OleDbConnection(strConnection);
objConnectionOpen();

dim objConnection as OleDbConnection
objConnection=new OleDbConnection(Provider=MicrosoftJetOleDb;Data Source=+ServerMapPath(*mdb))
objConnectionOpen()

  下面再看一下SQL SERVER的連接數據庫並打開

string strConnection=server=數據庫連接;uid=用戶名;pwd=密碼;database=數據庫名字;
SqlConnediob objConnection=new SqlCOnnection(strConnection);
objConnectionOpen();

dim objConnection as SqlConnectiom
objConnection=new SqlConnection(server=數據庫連接;uid=用戶名;pwd=密碼;database=數據庫名字)
objConnectionOpen()

  實際上在大多數地方SQL SERVER和ACCESS的區別除了連接語句其他定義語句也就是SQL和OLEDB的區別

  另外如果是ACCESS數據庫的話在ASPX文件的開頭需要包括下列語句

<%@Import Namespace=SystemData%>
<%@Import Namespace=SystemDataOleDb%>

  如果是SQL SERVER則需要包括以下語句
<%@Import Namespace=SystemData%>
<%@Import Namespace=SystemDataSqlClient%>

  學會讀取數據庫

  有的網友說不會C#在ASPNET裡面還是選擇VBNET這個我不反對但是我覺得既然是學習新的東西就不要在意有多少是新的實際上C#就一般的操作來說只是區分大小寫和多了一個分號這兩點與VBNET不同其他都差不多啊在ASP裡面我們讀取數據就直接用RECORDSET然後在HTML代碼裡面穿插<%= %>就可以顯示了但是ASPNET講究的是代碼分離如果還是這樣顯示數據就不能代碼分離了所以我們有兩種方法如果是讀取一條記錄的數據或者不多的數據我們用DATAREADER采集數據然後賦值給LABEL控件的Text屬性即可如果是讀取大量數據我們就采用DATAGRID

  今天我們就來說一下DATAREADER

string strConnection=Provider=MicrosoftJetOleDb;Data Source=;
strConnection+=ServerMapPath(strDb);
OleDbConnection objConnection=new OleDbConnection(strConnection);
OleDbCommand objCommand = new OleDbCommand(這裡是SQL語句 objConnection);
objConnectionOpen();
OleDbDataReader objDataReader=objCommandExecuteReader();
if(objDataReaderRead())
{
oicqText=ConvertToString(objDataReader[useroicq]);
homesiteText=ConvertToString(objDataReader[usersite]);
faceSelectedItemText=ConvertToString(objDataReader[userface]);
}

  大家可以看到我們首先是連接數據庫然後打開對於select的命令我們申明一個OleDbCommand來執行之然後再申明一個OleDbDataReader來讀取數據用的是ExecuteReader()objDataReaderRead()就開始讀取了在輸出的時候我們要注意Text屬性接受的只能是字符串所以我們要把讀出的數據都轉化為字符串才行

  轉換變量類型函數

  轉換為字符串ConvertToString()
  轉換為數字ConvertToInt()ConvertToInt()ConvertToInt() 是按照數字位數由長到短
  轉換為日期ConvertToDateTime()

dim objConnection as OleDbConnection
dim objCommand as OleDbCommand
dim objDataReader as OleDbDataReader
objConnection=new OleDbConnection(Provider=MicrosoftJetOleDb;Data Source=+ServerMapPath(strDb))
objCommand=new OleDbCommand(這裡是SQL語句 objConnection)
objConnectionOpen()
objDataReader=objCommandExecuteReader()
if objDataReaderRead()
oicqText=ConvertToString(objDataReader[useroicq])
homesiteText=ConvertToString(objDataReader[usersite])
faceSelectedItemText=ConvertToString(objDataReader[userface])
end if

  其實大家比較一下C#和VB的語法會發覺用C#似乎更加簡單教程裡面我側重C#對於VB的代碼我就不解釋了

  下面說一下如果代碼是讀取SQL數據庫我們這樣來轉變

  把代碼開始的
<%@Import Namespace=SystemData%>
<%@Import Namespace=SystemDataOleDb%>
修改為
<%@Import Namespace=SystemData%>
<%@Import Namespace=SystemDataSqlClient%>

  把代碼裡面所有申明的對象OleDb變為Sql就這麼簡單你甚至可以用替換所有來解決所以今後我講不再列出Sql Server的代碼了

  今天就說到這裡明天開始說數據的添加刪除修改


From:http://tw.wingwit.com/Article/program/net/201311/15625.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.