- Login
帳號:
密碼:
ASP MENU
線上教學
   ASP 教學
VB.NET 教學
JSP 教學
JAVA 教學
完整 ASP 教學
程式下載
   ASP 程式下載
提供 ASP 程式
程式量身訂做
   收費標準
填寫需求表
討論交流專區
   程式討論區
電腦資訊交流
工作機會
   社會人就職情報
汎亞人力銀行
大台中人力銀行
大高雄人力銀行
相關連結
   ASP 虛擬空間
ASP 相關網站
聯絡我們
   意見信箱
加入會員程式討論區線上購物回首頁
ASP 教學
親密接觸ASP.Net(7)
上一節,我們簡單的講了一下數據庫的應用,而我們沒有具體說明執行語句如何用於顯示。呵呵,是留在這一章節中講的。這塈畯怚眸楛o了解一下DataReader,DataSet和DataGrid控件,DataGrid是顯示控件,大家自已去看它相關的應用,我們在這堣哆嗦,DataReader和DataSet都可以用來儲存數據內容,不過DataReader只能儲存查詢的結果,DataSet就相對來說複雜多了,他的功能很強大,我們一步步來講,這一節還講不完,我們這一節只講其關於儲存數據庫的功能,呵呵,為了和DataReader的講解嘛.

講數據庫,首先得有用的數據才行,我這媕H便搞了一個數據庫,名為Company,再加了幾條數據進去

DataReader

DataReader看名字就知道了,就是讀取數據,我們可以通過Command的Execute方法,將取得的數據存入DataReader,DataReader有很多方法和屬性,常用的是Read,這塈琱]不想多講.我們還是先看看它的具體應用吧。


<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.SQL" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
//定義語句
string mySelectQuery = "SELECT * from Company";
string myConnString="server=localhost;uid=sa;pwd=123456;database=aspcn";

//聯結
SQLConnection myConnection = new SQLConnection(myConnString);
SQLCommand myCommand = new SQLCommand(mySelectQuery,myConnection);
myConnection.Open();
//定義DataReader
SQLDataReader myDataReader;
//賦與DataReader以結果
myCommand.Execute(out myDataReader);

//將DataReader與DataGrid進行綑綁
show.DataSource=myDataReader;
show.DataBind();

//關閉
myDataReader.Close();
myConnection.Close();

}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:DataGrid id="show" runat=server HeaderStyle-BackColor="#aaaadd" />
</body>
</html>


在其中我們看到DataReader的定義

SQLDataReader myDataReader;

以及他的賦值

myCommand.Execute(out myDataReader);

完成這兩步後,我們就將執行後的結果儲存到DataReader中了。

最後我們就將其綑綁(Bind)到DataGrid控件上去,如果不明白綑綁是什麼,看本系例的文章吧  

顯示如下: id Name Age Sex Wage
1 飛刀 20 男 1400
2 張三 23 男 5000
3 李四 47 男 7786
4 王五 20 男 6788
5 苗翠花 30 女 45676
6 方世玉 20 男 4656


另外告訴大家,如果我們需要取得DataReader儲存特定字段的值可以使用myDataReader["fieldname"]類似的方法取得下面是個簡單的例子

.......
while (myDataReader.Read())
{
Response.Write("<tr>");
Response.Write("<td>"+myDataReader["Name"].ToString+"</td>");
Response.Write("</tr>");
}
.......

DataSet

哇,這對於初學者來說,是個很難理解的東東啊。怎麼說才好呢?我們可以把DataSet看成一個無聯結的RecordSet(這個大家應當熟悉吧).DataSet中儲存有數據,而且這個就像是一個數據庫,堶惘s在表(Tables),列(Columns),關聯(relationships),限制(constrains)以及數據。這一些和數據庫沒有什麼兩樣,但是他不是數據庫(怎麼越說越糊塗),我們可以先在DataSet中操作數據(添加,刪除,更新),最後再一併提交到數據庫去操作。而且DataSet中的數據不光可以來自於數據庫,還可以是XML以及其它的數據,甚至用戶的輸入也能直接存入DataSet

我們這堨u談DataSet對於數據的作用,呵呵,而且還只是數據的顯示。其它的應用,下節再說,我們還是先看看一段例子吧。

 

<% @ Page Language="C#" %>
<% @ Import Namespace="System.Data" %>
<% @ Import Namespace="System.Data.SQL" %>
<Script Language="C#" Runat="Server">
public void Page_Load(Object src,EventArgs e)
{
//定義語句
string mySelectQuery = "SELECT * from Company";
string myConnString="server=localhost;uid=sa;pwd=123456;database=aspcn";

//聯結
SQLConnection myConnection = new SQLConnection(myConnString);
SQLDataSetCommand myDataSetCommand = new SQLDataSetCommand(mySelectQuery,myConnection);
DataSet myDataSet = new DataSet();

//將結果儲存入DataSet
myDataSetCommand.FillDataSet(myDataSet,"Company");

show.DataSource=myDataSet.Tables["Company"].DefaultView;
show.DataBind();


}
</script>
<html>
<head>
<title></title>
</head>
<body>
<asp:DataGrid id="show" runat=server HeaderStyle-BackColor="#aaaadd" />
</body>
</html>


上面的顯示的結果和前面的一樣,我們來解釋一下代碼

此處我們使用了DataSetCommand,我們就是需要通過它的FillDataSet方法,將查詢表Company的結果存入DataSet,具體的操作方法就是:

myDataSetCommand.FillDataSet(myDataSet,"Company");

以後的就是綑綁,也沒有什麼好說的了。只是要注意一下,DataSet是它的DataView與DataGrid進行Bind,這一原因我在前面的文章中已經說了。不懂的大家可以翻到前面看看,多多看看源程序。

另外我們可以向一個DataSet中加入多個表的查詢結果,這些結果的Connection都可以不同,這個實現起來很簡單,大家可以自已動手去做



頂端
本網頁最佳瀏覽模式為:瀏覽器 IE4.0 以上    解析度: 800 x 600
Copyright © 2000-2019 COOLASP All Rights Reserved