asp.net 2.0中,在其中的数据连接方面做了很大的改进,新加入的datasource系列控件,使得在数据库的连接方面更加容易,很多都可以通过向导式的设置来完成sql语句的编写和数据库连接。asp.net 2.0中的datasource系列控件总共有6种,分别是:
sqldatasource控件----用于连接sql数据库的数据源控件
accessdatasource控件----用于连接access数据库的数据源控件
objectdatasource控件----用于连接自定义对象的数据源控件
datasetdatasource控件-----将xml文件做为dataset并进行相关处理的控件
xmldatasource控件-----该控件装载xml文件,并绑定到datagrid、datalist等控件中
sitemapdatasource控件-----该控件装载一个预先定义好的站点布局文件,之后将其与treenode树形控件或sitemappath控件绑定,以实现方便地制作站点的页面导航功能。
下图显示了vs.net 2005 express beta 1中,datasource的六种控件:
本文中,将重点介绍objectdatasource控件,datasetdatasource控件和xmldatasource控件,而sqldatasource控件的介绍,请参考《使用asp.net 2.0中的gridview控件》,该文中介绍了sqldatasource控件的使用方法,而accessdatasource控件,则与sqldatasource 控件类似,只不过连接的数据库是access。
objectdatasource控件
该控件,将用户自己创建的对象绑定到数据控件中,比如绑定到datagrid,gridview。下面来看个例子,在visual studio 2005 beta 1中,创建新的站点,并添加一个新的类,名称叫products:
imports microsoft.visualbasic
imports system.data
imports system.data.sqlclient
public class products
public function getproducts() as dataset
dim conn as new sqlconnection("server=(local);integrated security=true;database=northwind;persist
security info=true")
dim adapter as new sqldataadapter("select [productid], [productname], [supplierid], [categoryid],
[quantityperunit], [unitprice] from [products]", conn)
dim ds as new dataset
adapter.fill(ds, "products")
return ds
end function
end class
product类包含了getproducts方法,该方法返回northwind数据库中所有的产品,以dataset形式返回。使用objectdatasource 控件,可以将自定义的类绑定到数据控件中,而只需要将ojectdatasource 控件拖拉到设计窗体中,之后,点击'configure data source…'链接,在弹出的窗体中(如下图),选择要绑定的类,此时选择product类就可以了,
在下一步中,选择要绑定哪一个类中的相关方法,如下图:
在下一步中,将可以选择执行什么样的sql语句,比如select,update,insert,delete等操作,本文中只需要返回product数据,所以选择select就可以了,之后点finish完成操作。
接着,拖拉一个gridview控件到窗体中,将其绑定到刚才我们创建的objectdatasource 控件,并将enable paging, enable scripting, enable selection三个选择框打勾,如下图:
之后运行程序,就可以看到结果。如果要对ojectdatasource 控件进行编辑的话,就要另外提供一个方法了,我们加入一个叫updateproducts的方法,如下:
public sub updateproducts(byval productid as integer, byval productname as string, _
byval supplierid as integer, byval categoryid as integer, _
byval quantityperunit as string, byval unitprice as double)
dim conn as new sqlconnection("server=(local);integrated security=true;database=northwind;persist security
info=true")
dim adapter as new sqldataadapter("select * from products where productid=" & productid, conn)
dim ds as new dataset
adapter.fill(ds, "products")
with ds.tables(0).rows(0)
.item("productname") = productname
.item("supplierid") = supplierid
.item("categoryid") = categoryid
.item("quantityperunit") = quantityperunit
.item("unitprice") = unitprice
end with
dim cb as new sqlcommandbuilder(adapter)
adapter.update(ds, "products")
end sub
之后再绑定到objectdatasource控件,并选用其中的update选项卡中的updateproducts方法,并在绑定到gridview控件时,选择“enable editing option”,运行程序,则可以对记录进行编辑了,如下图:
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 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器