国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

親密接觸ASP.Net(7)

2024-07-10 12:55:26
字體:
來源:轉載
供稿:網友
上一節,我們簡單的講了一下數據庫的應用,而我們沒有具體說明執行語句如何用于顯
示。呵呵,是留在這一章節中講的。這里我們必須得了解一下datareader,dataset和dat
agrid控件,datagrid是顯示控件,大家自已去看它相關的應用,我們在這里不哆嗦,da
tareader和dataset都可以用來儲存數據內容,不過datareader只能儲存查詢的結果,da
taset就相對來說復雜多了,他的功能很強大,我們一步步來講,這一節還講不完,我們
這一節只講其關于儲存數據庫的功能,呵呵,為了和datareader的講解嘛.

講數據庫,首先得有用的數據才行,我這里隨便搞了一個數據庫,名為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中儲存有數據,而且這個就像
是一個數據庫,里面存在表(tables),列(columns),關聯(relationships),限制(cons
trains)以及數據。這一些和數據庫沒有什么兩樣,但是他不是數據庫(怎么越說越糊涂
),我們可以先在dataset中操作數據(添加,刪除,更新),最后再一并提交到數據庫
去操作。而且dataset中的數據不光可以來自于數據庫,還可以是xml以及其它的數據,
甚至用戶的輸入也能直接存入dataset

我們這里只談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方法,將查詢表co
mpany的結果存入dataset,具體的操作方法就是:

mydatasetcommand.filldataset(mydataset,"company");

以后的就是捆綁,也沒有什么好說的了。只是要注意一下,dataset是它的dataview與da
tagrid進行bind,這一原因我在前面的文章中已經說了。不懂的大家可以翻到前面看看,
多多看看源程序。

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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 清水河县| 武宣县| 祁门县| 秦安县| 木兰县| 永康市| 响水县| 平乡县| 昭平县| 达孜县| 大荔县| 新巴尔虎左旗| 衡东县| 周口市| 宁阳县| 清新县| 颍上县| 靖州| 上饶市| 全州县| 芦山县| 太原市| 精河县| 禄丰县| 民和| 如皋市| 福州市| 西城区| 浮梁县| 水富县| 扎囊县| 泾川县| 施秉县| 黄梅县| 姜堰市| 大悟县| 安康市| 开阳县| 罗平县| 禹州市| 太湖县|