Vb.net 和SQL 数据库交互小结



个人版机房收费系统暂时的告于段落,对于vb.net SQL Sever 数据库的交互,现在总结一下。

一 数据库连接

  1 vb.net 和SQL Sever 连接,使用的connection 是SqlConnection,这也是最常用的连接对象。我们需要在vb.net 中引用System.Data以及System.Data.SqlClient.

   Imports System.Data

   Imports System.Data.sqlclient

  2 添加完引用之后,就是创建connection 对象

       连接字符串(告诉connection对象使用什么用户名和密码,连接哪一台计算机上的哪个数据库),其形式如下:

   Dim conStr as string =”Data Source=192.168.**.**;Initial Catalog=Charge_sys;uid=sa;pwd=******"

   Dim conn as Sqlconnection=new SqlConnection(conStr)

  3 开放和关闭连接

       Conn.open

       Conn.close

二数据库操作

      1 使用command对象执行SQL语句

           创建Command:

    dim cmd as new sqlCommand

    cmd.connnetion=conn

    cmd.commandtext=” ” 这里是sql 语句

      2执行sql语句:

           前提必须是conn 连接打开:

     conn.open

     Cmd.executenonquery()

      3 注意事项:连接打开,执行完sql语句之后,必须进行关闭,否则当连续执行sql 语句的时候会出现异常


三 dataadapter,dataset,datareader 和datatable的相关使用

      Dataadapter 是专门用来处理脱机数据的,它将查询到的数据放入dataset中(自己理解的是计算机内存中)这样当数据库连接关闭的后也可以对存放在内存中的数据集进行操作;如果只需要执行sql语句,就没必要用到dataadapter。

      主要方法:

1 Fill,将数据库中的数据填充到dataset中 

 Dim  ds  as  new  DataSet

 Dim  da  as  new  SqlDataAdapter

  da.Fill(ds,”StudentInfo”)

2 Update,将dataset中的数据更新到数据库

  Dim  ds  as  new  dataset

  Dim  da  as  new  SqlDataAdapter

  da.update(ds,”StudentInfo”)

      dataset 可以看做不依赖于数据库的独立数据集,当断开或者是关闭数据库是,dataset依然可以使用,dataset主要是由一组datatable对象组成

dim  ds  as  new  dataset

ds.tables.add(dt) ‘向dataset中添加datatable

datatable是一个临时保存数据的网格虚拟表,可以用来存储数据,可以动态添加相关的数据,也可以从某个dataset中得到

sqldataReader,是读取数据库中某个数据的方法,获取的数据时只读类型的,经常和sqlCommand连用

                         dim  sql  as string  =” select  *  from  UserInfo  where UserID=’1’”

                            dim  cmd  as  sqlcommand = new  sqlcommand(sql ,conn )

                            dim  read  as  SqlDataReader

                            conn .open ()

                            read=cmd.executeReader

                           user.userID=read.item(0)这里也可以是user.userID=read.item(“UserID”),即数据库字段名称或是索引号。

  我们通过一个简单例子来使用一下前面介绍的对象;

   Dim Constring  as  string=”data source=192.168.24.**;database=Charge_Sys;uid=sa;pwd=202414;”
      Dim  sqltxt  as  string =”Select * from User_Info”
      Dim  sqlconn  as  new  sqlconnection(Constring)
      Dim  sqlcmd  as  new  sqlcommand(sqltxt,sqlconn)
      Dim  da  as  new  sqldataadapter(sqlcmd)
      Dim  ds  as  dataset
      Dim  read  as  sqldataReader
      Try
           Sqlconn.open()
           Read=sqlcmd.executeReader
           Read.Read()
           Msgbox (read.item(3))
           Read.close()
           Da.Fill(ds,”UserInfo”)
           Datagridview1.datasource=ds.table(“UserInfo”)
      Catch  ex  As  Exception
           Msgbox(ex.message)
      Finally
           Sqlcmd.dispose()
      End Try


其实,对于sql 和vb.net 的交互,如果说使用三层结构的话,这种最原始的交互方式是不适合的,因为复杂的数据库中对数据库的操作何止简简单单的一个!!!如果对数据库每进行一次操作,就要这样写一次的话,三层的意义也就不存在了,因此,那些大牛就想到了将对数据库的增删改查全都封装到一个类中,根据参数,返回值的不同情况,来执行对数据库的交互,操作等,这就是我们下次要写的sqlHelper类;


  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值