选择显示字体大小

亲密接触asp.net(7) 数据库的应用

上一节,我们简单的讲了一下数据库的应用,而我们没有具体说明执行语句如何用于显示。呵呵,是留在这一章节中讲的。 这里我们必须得了解一下datareader,dataset和datagrid控件,datagrid是显示控件,大家自已去看它相关的应用,我们在这里不哆嗦,datareader和dataset都可以用来储存数据内容,不过datareader只能储存查询的结果,dataset就相对来说复杂多了,他的功能很强大,我们一步步来讲,这一节还讲不完,我们这一节只讲其关于储存数据库的功能,呵呵,为了和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),限制(constrains)以及数据。这一些和数据库没有什么两样,但是他不是数据库(怎么越说越糊涂),我们可以先在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方法,将查询表company的结果存入dataset,具体的操作方法就是:

mydatasetcommand.filldataset(mydataset,"company");

以后的就是捆绑,也没有什么好说的了。只是要注意一下,dataset是它的dataview与datagrid进行bind,这一原因我在前面的文章中已经说了。不懂的大家可以翻到前面看看,多多看看源程序。

另外我们可以向一个dataset中加入多个表的查询结果,这些结果的connection都可以不同,这个实现起来很简单,大家可以自已动手去做。


 


关键字 本文所属关键字

相关 与本文相关文章

分类 所有文章关键字导航

源码编程相关

Java   Asp   PHP   .Net   XML   C/C++   CGI   VB   Jsp   J2ee   J2se   J2me   EJB   Servlet   Tomcat   Resin   Struts   Weblogic   Eclipse   ANT   GUI   JMS   Web servise   IDEA   Webphere   Hibernate   Spring   Jboss   Applet   Swing   Socket   Javamail   Perl   Ajax   P2P   安全   模式   框架   测试   开源   游戏

SQL数据库相关

My-SQL   Ms-SQL   Access   DB2   Oracle   Sybase   SQLserver   索引   存储过程   加密   数据库   分页   视图  

手机无线相关

3G   Wap   CDMA   GRPS   GSM   IVR   彩信   短信   无线   增值业务

网页设计制作相关

HTML   CSS   网页配色   网页特效   Javascript   VBscript   Dreamweaver   Frontpage   JS   Web   网站设计

网站建设推广相关

建站经验   网站优化   网站排名   推广   Alexa

操作系统/服务器相关

Windows XP   Windows 2000   Windows 2003   Windows Me   Windows 9.x   Linux   UNIX   注册表   操作系统   服务器   应用服务器

图形图像多媒体相关

Photoshop   Fireworks   Flash   Coreldraw   Illustrator   Freehand   Photoimpact   多媒体   图形图像

标准 网站致力的规范

Valid CSS!

无不良内容,无不良广告,无恶意代码

Valid XHTML 1.0 Transitional

creativecommons