vb.net数据库编程

这次是一个留言薄程序,就是把客人的留言“放入”数据库中。


首先我们要建立一个一个留言薄的Access文件,文件名:lyb.mdb (2012版为lyb.accdb) 其中表名为lyb

勤劳的人就自己建立一个吧,图下图(里面没有数据,只有一表结构,因为我们只是设计)


注意的是,日期用默认值,这样可以获得留言时的时间(这个不用我们来考虑,Access加入记录时自动会写上当前准确时间)


如果你是懒人就用这个下载吧:http://download.csdn.net/detail/dzweather/5043544


这个简单程序有两块,一块是插入到数据库(Access)中,二块是显示数据库的内容。


  1. Imports System.Data.OleDb  
  2.   
  3. Public Class Form1  
  4.     Dim cn As OleDbConnection  
  5.     Dim cm As OleDbCommand  
  6.     Dim da As OleDbDataAdapter  
  7.     Dim ds As DataSet  
  8.   
  9.     Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click  
  10.         TextBox1.Text = ""  
  11.         TextBox2.Text = ""  
  12.         TextBox3.Text = ""  
  13.         TextBox4.Text = ""  
  14.     End Sub  
  15.   
  16.     Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click  
  17.         cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\lyb.mdb;Persist Security Info=False")  
  18.         da = New OleDbDataAdapter("select * from lyb order by 时间 desc", cn)  
  19.         ds = New DataSet()  
  20.         da.Fill(ds, "lyb")  
  21.         DataGridView1.DataSource = ds.Tables("lyb")  
  22.     End Sub  
  23.   
  24.     Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  
  25.         Dim Name As String = TextBox1.Text  
  26.         Dim Email As String = TextBox2.Text  
  27.         Dim Subject As String = TextBox3.Text  
  28.         Dim Memo As String = TextBox4.Text  
  29.         If Name = "" Or Email = "" Or Subject = "" Or Memo = "" Then  
  30.             MessageBox.Show("字段有未填写,请再次填写!")  
  31.             Exit Sub  
  32.         End If  
  33.   
  34.         'Try  
  35.         cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\lyb.mdb;Persist Security Info=False")  
  36.         cn.Open() '插入前,必须连接  
  37.         Dim sql As String = "insert into lyb (姓名,Email,主题,内容) values('" & Name & "','" & Email & "','" & Subject & "','" & Memo & "')"  
  38.         cm = New OleDbCommand(sql, cn)  
  39.         cm.ExecuteNonQuery()  
  40.         cn.Close()  
  41.         MessageBox.Show("保存成功!!!")  
  42.         'Catch ex As Exception  
  43.         '    MessageBox.Show("保存失败!")  
  44.         'End Try  
  45.     End Sub  
  46. End Class  



===================================================================================================




细节:

一、在执行Fill方法时,只是针对Select查询。

        在执行查询结果集时,如果前面连接没有打开,由自动根据参数打开连接,获得结果集后,再关闭连接。

                                                如果前面连接已经打开,获得结果集后,仍保持连接打开。

                                                即,执行后,仍保持原来的连接状态,是关则关,是开仍开。


二,但对于非查询语句,比修改、删除等,须要用command来执行。

         在执行修改等结果集时,如果前面连接没有打开,则提出错误。

                                                     因此,修改等必须连接是打开的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值