当前位置:中国站长下载文章中心网页编程.NET编程 → 用VS2005开发ASP.NET 2.0数据库程序(3)

用VS2005开发ASP.NET 2.0数据库程序(3)

减小字体 增大字体 作者:不详  来源:不详  发布时间:2006-8-14 9:13:41
     五、 编程连接到一数据库
  
    如我们前面所见,使用一个SqlDataSource检索信息非常快捷,但是如果你想要编程地存取数据又会怎样呢?或者,也许你已经有了现成的代码-该代码将取得你想要的精确数据并且据需要进行管理;并且一旦完成,即修改你将要在一个GridView中所显示的数据。没有问题,你可以就象在1.x中一样地在2.0中存取数据-通过创建一个到数据库的连接,创建一个命令,指定查询,填充一个DataReader或DataSet,然后使用该控件的DataSource属性和DataBind()方法把结果绑定到数据Web控件。
  
    下列代码显示出一个ASP.net页面的Page_Load事件处理器-它编程地把Customers数据库数据表的内容绑定到GridView控件gVCustomers上:
  
  Protected Sub Page_Load(ByVal sender As Object, _
  ByVal e As System.EventArgs) Handles Me.Load
   If Not Page.IsPostBack Then
    'Start by determining the connection string value
    Dim connString As String = ConfigurationManager.ConnectionStrings(connStringName).ConnectionString
    '创建一个SqlConnection实例
    Using myConnection As New SqlConnection(connString)
     '指定SQL查询
     Const sql As String = "SELECT * FROM Customers"
     '创建一个SqlCommand实例
     Dim myCommand As New SqlCommand(sql, myConnection)
     '取回一个DataSet
     Dim myDataSet As New DataSet
     '创建一个SqlDataAdapter查询
     Dim myAdapter As New SqlDataAdapter(myCommand)
     myAdapter.Fill(myDataSet)
     '把DataSet绑定到GridView
     gvCustomers.DataSource = myDataSet
     gvCustomers.DataBind()
     '关闭连接
     myConnection.Close()
    End Using
   End If
  End Sub
  
    在此,要注意几点:为了取得连接串,我们可以参考Web.config中的连接串设置-使用句法为
  ConfigurationManager.ConnectionStrings(connStringName).ConnectionString。其中,connStringName的值应该是在Sql数据源控件向导(CustomersConnectionString)的子步骤中指定的值。另外注意,Visual Basic 8(2.0中使用的VB版本)现在支持Using关键字-这是在前面的版本中仅适于C#的一个语言特点。
  
    编程地存取数据和输出结果等同于使用Sql数据源控件的情况。
  
    六、 结论
  
    在本文中,我们分析了在Visual Studio 2005中使用ASP.NET 2.0数据库的情形。我们讨论了怎样通过Visual Studio管理数据库,以及怎样通过App_Data文件夹来添加网站特定的数据库。最后,我们分析了怎样使用Sql数据源控件和编程的方式来存取数据。当使用一个数据源控件时,通过设置GridView的DataSourceID属性来把数据绑到一个GridView控件上;当编程地访问该数据时,通过把数据赋值给GridView的DataSource属性和调用GridView的DataBind()方法来实现把数据绑定到GridView。(后一种方法遵循在ASP.NET 1.x中使用的模式来绑定数据到一个DataGrid。)不管使用哪一种方式来访问数据,最终的结果,如在一用户浏览器中所见的,皆是相同的。
    做人要厚道,请注明转自chinazhan中国站长(www.ChinaZhan.com)。