首页 ASP.NET 正文
  • 本文约2294字,阅读需11分钟
  • 2292
  • 0
举报该广告
转:VB.NET数据库编程(2)(非查询的例子

转:VB.NET数据库编程(2)(非查询的例子

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

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

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

1359610236_2359.jpg

 

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


 

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

Imports System.Data.OleDb  

Public Class Form1  
    Dim cn As OleDbConnection  
    Dim cm As OleDbCommand  
    Dim da As OleDbDataAdapter  
    Dim ds As DataSet  

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click  
        TextBox1.Text = ""  
        TextBox2.Text = ""  
        TextBox3.Text = ""  
        TextBox4.Text = ""  
    End Sub  

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click  
        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\lyb.mdb;Persist Security Info=False")  
        da = New OleDbDataAdapter("select * from lyb order by 时间 desc", cn)  
        ds = New DataSet()  
        da.Fill(ds, "lyb")  
        DataGridView1.DataSource = ds.Tables("lyb")  
    End Sub  

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click  
        Dim Name As String = TextBox1.Text  
        Dim Email As String = TextBox2.Text  
        Dim Subject As String = TextBox3.Text  
        Dim Memo As String = TextBox4.Text  
        If Name = "" Or Email = "" Or Subject = "" Or Memo = "" Then  
            MessageBox.Show("字段有未填写,请再次填!")  
            Exit Sub  
        End If  

        'Try  
        cn = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\lyb.mdb;Persist Security Info=False")  
        cn.Open() '插入前,必须连接  
        Dim sql As String = "insert into lyb (姓名,Email,主题,内容) values('" & Name & "','" & Email & "','" & Subject & "','" & Memo & "')"  
        cm = New OleDbCommand(sql, cn)  
        cm.ExecuteNonQuery()  
        cn.Close()  
        MessageBox.Show("保存成功!!")  
        'Catch ex As Exception  
        '    MessageBox.Show("保存失败")  
        'End Try  
    End Sub  
End Class  
1359613099_6078.jpg

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




细节

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

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

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

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


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

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

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

 


📱 扫码关注公众号

公众号二维码

扫描二维码关注我们,获取更多精彩内容
实时更新 · 干货满满

收藏

扫描二维码,在手机上阅读
评论
更换验证码
友情链接