数据库连接的整理

基本数据库连接的具体步骤:
 
  1)创建和打开数据库链接
  Dim conPubs As SqlConnection
   conPubs =New SqlConnection("server;uid; pwd=;database=;")
    conPubs.Open()

  创建一个名为conpubs的SqlConnection类事例,通过SqlConnection类的构造器传递一个连接字符串参数,对conpubs类进行初始化。最后通过调用sqlConnection类的Open()的方法实际打开链接。但是连接的时间只有15秒。可以在初始化中再加一段代码:
  conPubs =New SqlConnection("server;uid; pwd=;database=;Connect_Timeout=90")

    3)选择读取的方式 Command DataReader 或者是 DataAdapter 和 Dateset
  如果你要获取一些数据,并且快速地显示在网页上,那么使用前一种,但是如果需要操作但开连接的内存数据库记录,就需要使用后一种
  应为DataAdapter必须保持到数据库表的连接,必须调用Reader方法从底层数据库中获取每个新记录,转载进内存,所以不能在多个页面上面或者跨相同页面的多次请求使用相同的DataReader 
  而Dateset 提供驻留于内存的数据表示,所以可以将数据库的查询的结果作为一个整体进行操作,例如它包含于排序,过滤,和返回 但是它虽然避免连接到数据库服务器,但是要占用大量内存。
  所以如果每次请求页面时获取不同的数据集用DataReader,但是请求页面获得相同数据时如排序,则使用 Dateset
    4)显示数据

    5)断开数据库

 第一类读取方式:Command DataReader
      一、Select语句需要完成的步骤:

         注意:以下例子中都未引用名称空间 大家在连接数据库时一定写入以下两行代码:
         Imports System.Data
         Imports System.Data.sqlClint

      1、 返回多条语句时:
        1)创建和打开数据库链接
        2)创建一个代表要执行的Sql Select语句的数据库命令
        3)用ExecuteReader()方法执行这个命令,并且返回一个DataReader
        4)遍历DataReader,显示查询的结果  (用Read方法)
      事例:
          Dim conPubs As SqlConnection
          Dim cmdSelectAuthors As SqlCommand
          Dim dtrAuthors As SqlDataReader
          conPubs =New SqlConnection("server=localhost;uid=sa; pwd="";database=pubs")
          conPubs.Open()
          cmdSelectAuthor= New Command("Select au_lname from Authors",conPubs)
          dtrAuthors =cmdSelectAuthors.ExecuteReader
   While dtrAuthors.Read() 
           Response.Write("<li>") '*
           Response.Write(dtrAuthors("au_lname"))'*
          End Wile
         conPubs.Close()
     
   也可以把循环语句写成:
         txtBox1.text&=vbNewLine
         Dim intField As integer
         For intField=0 To dtrAuthors.Field.Count=-1
          txtBox1.text&=dtrAuthors(intField).ToSring().PadRight(15)
        
Next
    
      2、如果只需要返回一条语句,那么只需要用ExecuteScalar
 
      事例:
         Dim conPubs As SqlConnection
         Dim cmdSelectCount As SqlCommand
         conPubs =New SqlConnection("server=localhost;uid=sa; pwd="";database=pubs")
         conPubs.Open()
         cmdSelectCount= New Command("Select Count(*) from Authors",conPubs)
         lblResult.text=cmdSelectCounts.ExecuteScalar
         conPubs.Close()

     二、Insert ,Delete update 语句所要完成的步骤:
        1)创建和打开数据库链接
        2)创建代表要执行的Sql 语句
        3)用ExecteNonQuery()方法执行命令
      事例:
         Dim conPubs As SqlConnection
         Dim cmdSelectAuthors As SqlCommand
         conPubs =New SqlConnection("server=localhost;uid=sa; pwd="";database=pubs")
         conPubs.Open()
         cmdSelectAuthor= New Command("insert Authors (ProductName,UnitPrice) Values ('Milk','12.45')",conPubs)
         cmdSelectAuthors.ExecuteNonQuery
         conPubs.Close()

      Sql语句:
         Update Authors Set au_lname='Smith' Where au_lname='Benner'
         insert Authors (au_lname) Values ('smith')
         Delete Authors Where au_lname='smith'

       可以使用两种方式输入数据:
 
          insert Authors (ProductName) Values (@au_lname)
          cmdSelectAuthors.Parameters.Add(@au_lname,txtAuthorName.text)

       或者直接:
          insert Authors (ProductName) Values ('"+txtAuthorName.text+"')

 第二类:DataAdapter 和 Dateset
    DataAdapter类作为 Dateset与它代表的数据源之间的桥梁。使用DataAdapter可以填充Dateset,或者对Dateset进行修改更新现有的数据。
    
    步骤:
      1)创建一个Dateset
      2)创建一个数据库连接
      3)使用sql语句和数据库连接创建一个DataAdapter
      4)调用DataAdapter的fill方法,传递Dateset的名称和新的Datetable名称
        dim d as datagrid
        Dim a as sqlconnection
         a=new sqlconnection()
       dim b as sqldataAdapter
      dim c as dataset
           c=new dataset
        b=("select",a)
        a.open()
       b.fill(c,"au_lname")
       d.datasource=c
       d.databind()

注意事项:
   Sql中使用单引号表明字符串的开头和结尾。
 http://www.connectionstrings.com/ 可以找到你要的连接字符串


你可能感兴趣的:(数据库连接)