十天學會ASP.net之第六天

發表于:2007-09-07來源:作者:點擊數: 標簽:
在ASP里面我們讀取數據就直接用RECORDSET,然后在HTML代碼里面穿插<%= %>就可以顯示了,但是ASP.NET講究的是代碼分離,如果還是這樣顯示數據就不能代碼分離了。所以我們有兩種方法:如果是讀取一條記錄的數據或者不多的數據,我們用DATAREADER采集數據,然
  在ASP里面我們讀取數據就直接用RECORDSET,然后在HTML代碼里面穿插<%= %>就可以顯示了,但是ASP.NET講究的是代碼分離,如果還是這樣顯示數據就不能代碼分離了。所以我們有兩種方法:如果是讀取一條記錄的數據或者不多的數據,我們用DATAREADER采集數據,然后賦值給LABEL控件的Text屬性即可;如果是讀取大量數據我們就采用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"]);
  }   

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

  轉換變量類型函數:

  轉換為字符串:Convert.ToString()

  轉換為數字:Convert.ToInt64(),Convert.ToInt32(),Convert.ToInt16() 是按照數字位數由長到短

  轉換為日期: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的語法,會發覺用C#似乎更加簡單,教程里面我側重C#,對于VB的代碼我就不解釋了?! ?

  下面說一下如果代碼是讀取SQL數據庫,我們這樣來轉變
  1、把代碼開始的

 ?。?@Import Namespace="System.Data"%>
 ?。?@Import Namespace="System.Data.OleDb"%>

  修改為

 ?。?@Import Namespace="System.Data"%>
 ?。?@Import Namespace="System.Data.SqlClient"%>
  2、把代碼里面所有申明的對象OleDb××變為Sql××就這么簡單

  你甚至可以用替換所有來解決,所以今后我講不再列出Sql Server的代碼了?! ?br>


原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97