vb连接sql数据库(VB实现SQL数据库表记录添加)
一、VB中如何向SQL数据库中的表添加和删除数据
链接数据库的字符串
Public Const Conn As String="Provider=SQLOLEDB.1;Persist Security Info=False;"& _
"User ID=sa;PWD=sa;Initial Catalog=hr;Data Source=127.0.0.1"
'hr是数据库名称 Catalong=数据库名称
Private IsConnect As Boolean判读数据库是否链接
Private cnn As ADODB.Connection链接数据库的connection对象
Private rs As ADODB.Recordset保存结果集的recordset对象
数据库链接程序
Public Sub Db_Connect()
如果链接标记为真返回
If IsConnect= True Then
Exit Sub
End If
关键字New用来创建新对象cnn
Set cnn= New ADODB.Connection
设置cnn的链接字符串的connectstring属性
cnn.ConnectionString= Conn
打开数据库
cnn.Open
判断链接状态
If cnn.State<> adStateOpen Then
如果不成功显示提示退出程序
MsgBox"链接数据库失败"
End
End If
设置链接标记表示已经链接到数据库
IsConnect= True
End Sub
断开数据库的链接程序
Public Sub Db_Disconnect()
如果链接标记为假,表明已经断开直接返回
If IsConnect= False Then
Exit Sub
End If
关闭链接
cnn.Close
设置链接标记,表明已经断开链接
IsConnect= False
End Sub
'只用来执行Insert,update,delete语句
Public Sub sqlExt(tmpSql As String)
创建command对象cmd
Dim cmd As New ADODB.Command
连接到数据库
DbConnect
设置cmd的ActiveConnection属性,指定其关联的数据库链接
Set cmd.ActiveConnection= cnn
设置要执行的命令文本
cmd.CommandText= tmpSql
执行命令
cmd.Execute
清空cmd对象
Set cmd= noting
断开与数据库的连接
Db_Disconnect
End Sub
执行数据库查询程函数
Public Function QueryExt(tmpSql As String) As ADODB.Recordset
创建recordset对象rst
Dim rst As New ADODB.Recordset
链接到数据库
Db_Connect
设置rst的ActiveConnection属性,指定与其关联的数据库连接
Set rst.ActiveConnection= cnn
设置游标类型
rst.CursorType= adOpenDynamic
设置锁定类型
rst.LockType= adLockOptimistic
打开记录集
rst.Open tmpSql
返回记录集
Set QueryExt= rst
End Function
二、vb程序,访问SQL数据库的一个表,能够增加和删除记录
首先在FORM_LOAD方法里面调用打开连接的方法Opencon
Private Sub Form_Load()
OpenCon
End Sub
然后再来定义怎么连接到数据库,用下面的代码:
Public Function OpenCon() As Boolean
Dim mag As String'定义一个消息框
On Error GoTo strerrmag'发生错误程序跳转到消息框
Set conn= New Connection'创建一个连接
conn.Open"Provider=SQLOLEDB.1;Persist Security Info=False;User ID=数据库用户名;_
password=数据库登陆密码;Initial Catalog=数据库名;Data Source=服务器名"
OpenCon= True
addFlag= True
Exit Function
strerrmag:
mag="Data can't connect"
Call MsgBox(mag, vbOKOnly,"Error:Data connect")'定义消息框
addFlag= False
Exit Function
End Function
现在你已经创建好了到数据库的连接了
接下来是怎么对数据库进行添加查询和删除了
先来看添加,创建一个方法 save来执行在数据库里添加记录的任务
Private Sub Save()'定义一个叫SAVE的方法
Set rs= New Recordset'创建一个叫rs的连接字段
rs.Open"select* from表名", conn, adOpenKeyset, adLockPessimistic'打开连接
rs.AddNew'调用VB里面的AddNew方法进行插入记录
r(0)='''对数据库里的表里的字段进行赋值,括号里的数字对应表里字段的排序,''里面是要插入的内容,
r(1)='''可以是文本框的内容(Text1.text),也可以是标签的内容(Label1.Caption),
r(2)='''具体的自己看看相关的VB教程里控件的属性的定义
r(3)=''
......
rs.Update'调用Update方法,更新表里的记录
rs.Close'插入完了记得关闭这个连接哦
End Sub
对应的,查找基本一样,只是赋值语句倒过来,把数据库里的字段的值赋给窗体里的控件
Private Sub selectmsg()'创建一个查找的方法selectmsg
Set rs= New Recordset'创建一个叫rs的连接字段
rs.Open"select* from aaf_empapp where"条件", conn, adOpenKeyset, adLockPessimistic'打开连接
''=r(0)'给窗体里的对应的控件赋值
''=r(1)
''=r(2)
''=r(3)
......
rs.Close'关闭连接
End Sub
最后是删除记录,这个可以用上面的方法,先创建连接,再通过SQL语句来控制操作,但是我们也可以用VB自带的函数来执行
Private Sub delete()'创建一个删除记录的方法
conn.Execute"delete from aaf_empapp where"条件"
End Sub
这样几个语句就可以对我们选顶的记录进行删除了
当然,光这些还不够,我们还需要在需要的地方调用我们定义的方法才能执行想要的操作
比如在窗体里放置了三个分别叫叫 Command1, Command2, Command3的按钮,需要点击它以后执行插入,查找,删除的功能,
那么就在Command_Click的事件中来调用实现定义好的方法.
Private Sub Command1_Click()
Save
End Sub
Private Sub Command2_Click()
selectmsg
End Sub
Private Sub Command3_Click()
delete
End Sub
加入这些代码以后,我们在窗体里点击对应的按钮就可以执行对应的操作了
最后提醒一下,别忘了在 Form_Unload方法里面关闭数据库连接,释放连接占有的服务器资源
Private Sub Form_Unload(Cancel As Integer)
conn.Close
End Sub
好了,基本的操作方法就是这样,当然你可以去查找一下VB6.0的MSDN,连接数据库的方法有很多种,里面有很详细的说明的
三、VB怎么连接 SQL 数据库
一个简单的方法:
首先,建立程序公共模块输入以下代码:
Public conn As New ADODB.Connection
'全局变量 rst指针
Public rst As New ADODB.Recordset
'全局调用函数打开数据库
Public Function openconn()
conn.ConnectionString="连接信息"
'此连接信息最简单的生成办法:
'在任意窗口下建立一新ADODC控件
'选择控件属性,通用页,使用连接字符串,生成(U)
'利用该向导生成出字符串,然后将该字符串复制到"连接信息"中即可
conn.Open
End Function
'全局调用函数关闭数据库
Public Function closeconn()
If conn.State= 1 Then
conn.Close
Set conn= Nothing
End If
End Function
然后在窗体文件中可以使用的函数:
打开数据库:openconn
注意:此函数为自定义函数,无参数,定义在公共模块中!
建立数据表连接:Set rst= conn.Execute("select* from数据表名")
如做登陆页可以这样判断用户名密码:
Text1.Text= RTrim(rst.Fields("id")) And Text2.Text= RTrim(rst.Fields("password"))
注:其中Text1.Text为输入用户名TextBOX Text2.Text为输入密码TextBOX
数据表中 id为保存用户名 password为保存密码!此方法为非加密方法!
关闭数据库函数:
closeconn
Set rst= Nothing
注:此两行,必须在打开数据库的情况下使用!并且每打开一次数据库后必须先使用此两句将数据库关闭后才可打开另一数据库表文件!!!!!否则程序报错终止!
添加新数据函数
rst.AddNew
rst("字段名1")= Text1.Text
rst("字段名2")= Text2.Text
rst.Update
删除数据函数
rst.Delete
注:使用此函数前,必须保证数据库指针函数rst指向需删除数据,移动rst指针可以使用函数:rst.MoveNext或rst.MoveLast
更新数据函数
rst.Open"update数据表名 set字段1='"+ Text1.Text+"',字段2='"+ Text2.Text+"' where id='"+ Text3.Text+"'", conn, 1, 3
注,其中 where id=为更新特定数据表的查找!
如果熟悉SQL语句,还可编写出其他方式的查找,这里就不多做介绍了!