您的位置:首页 > 编程语言 > ASP

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

2008-05-13 16:05 603 查看
五、 编程连接到一数据库

  如我们前面所见,使用一个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。)不管使用哪一种方式来访问数据,最终的结果,如在一用户浏览器中所见的,皆是相同的。

关键字:VS2005,GridView,ASP.NET 2.0数据库,GridView的DataBind(),GridView的DataSource属性,ConfigurationManager
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: