这次是一个留言薄程序,就是把客人的留言“放入”数据库中。
首先我们要建立一个一个留言薄的Access文件,文件名:lyb.mdb (2012版为lyb.accdb) 其中表名为lyb
勤劳的人就自己建立一个吧,图下图(里面没有数据,只有一表结构,因为我们只是设计)
注意的是,日期用默认值,这样可以获得留言时的时间(这个不用我们来考虑,Access加入记录时自动会写上当前准确时间)
如果你是懒人就用这个下载吧:http://download.csdn.net/detail/dzweather/5043544
这个简单程序有两块,一块是插入到数据库(Access)中,二块是显示数据库的内容。
- ImportsSystem.Data.OleDb @H_502_50@
- PublicClassForm1
- DimcnAsOleDbConnection
- DimcmAsOleDbCommand
- DimdaAsOleDbDataAdapter
- DimdsAsDataSet
- PrivateSubButton3_Click(senderAsObject,eAsEventArgs)HandlesButton3.Click
- TextBox1.Text=""
- TextBox2.Text=""
- TextBox3.Text=""
- TextBox4.Text=""
- EndSub
- PrivateSubButton2_Click(senderAsObject,eAsEventArgs)HandlesButton2.Click
- cn=NewOleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=D:\lyb.mdb;PersistSecurityInfo=False")
- da=NewOleDbDataAdapter("select*fromlyborderby时间desc",cn)
- ds=NewDataSet()
- da.Fill(ds,"lyb")
- DataGridView1.DataSource=ds.Tables("lyb")
- PrivateSubButton1_Click(senderAsObject,eAsEventArgs)HandlesButton1.Click
- DimNameAsString=TextBox1.Text
- DimEmailAsString=TextBox2.Text
- DimSubjectAsString=TextBox3.Text
- DimMemoAsString=TextBox4.Text
- IfName=""OrEmail=""OrSubject=""OrMemo=""Then
- MessageBox.Show("字段有未填写,请再次填写!")
- ExitSub
- EndIf
- 'Try
- cn.Open()'插入前,必须连接
- DimsqlAsString="insertintolyb(姓名,Email,主题,内容)values('"&Name&"','"&Email&"','"&Subject&"','"&Memo&"')"
- cm=NewOleDbCommand(sql,226); color:inherit; line-height:18px"> cm.ExecuteNonQuery()
- cn.Close()
- MessageBox.Show("保存成功!!!") @H_847_502@'CatchexAsException
- 'MessageBox.Show("保存失败!") @H_847_502@'EndTry
- EndSub
- EndClass
===================================================================================================
细节:
在执行查询结果集时,如果前面连接没有打开,由自动根据参数打开连接,获得结果集后,再关闭连接。
如果前面连接已经打开,获得结果集后,仍保持连接打开。
即,执行后,仍保持原来的连接状态,是关则关,是开仍开。
二,但对于非查询语句,比修改、删除等,须要用command来执行。
因此,修改等必须连接是打开的。