惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
T
Threatpost
Latest news
Latest news
N
News | PayPal Newsroom
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Help Net Security
Help Net Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
TaoSecurity Blog
TaoSecurity Blog
The Last Watchdog
The Last Watchdog
L
LINUX DO - 热门话题
Google DeepMind News
Google DeepMind News
T
Threat Research - Cisco Blogs
O
OpenAI News
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
The Exploit Database - CXSecurity.com
NISL@THU
NISL@THU
Application and Cybersecurity Blog
Application and Cybersecurity Blog
S
Securelist
小众软件
小众软件
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
Martin Fowler
Martin Fowler
S
SegmentFault 最新的问题
Cisco Talos Blog
Cisco Talos Blog
云风的 BLOG
云风的 BLOG
AWS News Blog
AWS News Blog
GbyAI
GbyAI
N
News and Events Feed by Topic
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
美团技术团队
Engineering at Meta
Engineering at Meta
A
About on SuperTechFans
博客园 - 三生石上(FineUI控件)
S
Schneier on Security
博客园 - 聂微东
V2EX - 技术
V2EX - 技术
T
Troy Hunt's Blog
SecWiki News
SecWiki News
S
Secure Thoughts
B
Blog RSS Feed
Hugging Face - Blog
Hugging Face - Blog
WordPress大学
WordPress大学
腾讯CDC
H
Heimdal Security Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed

博客园 - pigyang666_asp.net

学习方法 WIKI 胡哥的作业 最爱冬天的被窝 教育技术图库系统测试版 连续不间断横向滚动图片 希望自己能坚持 给电脑升级了512M的内存条 xml无限级分类 今天制作了一个pdf格式的文档 标准的不标准 css+div布局总结——基础篇 空间必须放在具有 runat=server 的窗体标记内 web标准的“表现和结构相分离” DBNull 到 String的强制转换 连接数据库的偷懒小技巧 对制作网站效果图的一点个人经验 我制作的网站效果图,大家给点意见:) 以缩略图的形式显示数据库的图片
数据库连接的整理
pigyang666_asp.net · 2005-09-01 · via 博客园 - pigyang666_asp.net

基本数据库连接的具体步骤:
 
  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/ 可以找到你要的连接字符串