VB怎么连接 SQL 数据库?

作者&投稿:兆昆邦 (若有异议请与网页底部的电邮联系)
VB如何连接SQL数据库并登录?~

Option Explicit
Private Function Selectsql(SQL As String) As ADODB.Recordset '返回ADODB.Recordset对象
Dim ConnStr As String
Dim Conn As ADODB.Connection
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
Set Conn = New ADODB.Connection

'On Error GoTo MyErr:
ConnStr = "Provider=SQLOLEDB.1;Persist Security Info=True;User ID=登录数据库用户名(默认为sa);Password=登录数据库密码;Initial Catalog=数据库名;Data Source=服务器名(默认为:MERRYCHINA)" '这是连接SQL数据库的语句
Conn.Open ConnStr
rs.CursorLocation = adUseClient
rs.Open Trim$(SQL), Conn, adOpenDynamic, adLockOptimistic
Set Selectsql = rs
'Exit Function
'MyErr:
'Set rs = Nothing
'Set Conn = Nothing '释放相关的系统资源
'MsgBox Err.Description, vbInformation, "系统提示" '显示出错信息
End Function
Private Sub Form_Load()
Dim SQL As String
Dim rs As ADODB.Recordset
Dim X As Long
On Error GoTo Err_box
SQL = " select * from 用户表"
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
rs.MoveFirst
For X = 1 To rs.RecordCount
Combo1.AddItem rs.Fields("用户名").Value
rs.MoveNext
Next X
Combo1.ListIndex = 0
End If
rs.Close
Exit Sub
Err_box:
End Sub
Private Sub Command1_Click()
Dim SQL As String
Dim rs As ADODB.Recordset
If Text1.Text = "" Then
MsgBox "请输入口令!", 16
Text1.SetFocus
Exit Sub
End If
If Combo1.Text = "" Then
MsgBox "请选择登录用户!", 16
Combo1.SetFocus
Exit Sub
End If
SQL = "SELECT * FROM 用户表 WHERE 用户名='" & Combo1.Text & "' AND 密码='" & Text1.Text & "' "
Set rs = Selectsql(SQL)
If rs.RecordCount > 0 Then
Form1.Show '想要打开的主窗体
MsgBox "恭喜兄弟,登录成功!", 64, "提示"
Unload Me
Else
MsgBox "口令不对,请重新输入!", 16, "提示"
Text1.SetFocus
End If
End Sub
'**********************************************************************
'说明:1) 在工程中引用Microsoft ActiveX Data Objects 2.8 Library ,其它版本也行如:2.0
' 2) 在窗体中加Texe1.text(文本框控件),Combo1.text(组合框控件),Command1(命令按钮)各一个
' 3) 在SQL Server2000中创建数据库,新建表"用户表",表中包含"ID,姓名,密码"等字段,然后将以上代码复制,OK搞定
4) 以上方式无需加载ADO控件,方便!

1、打开代码窗口,添加引用:Imports System.Data.SqlClient。

2、输入以下代码:
“Public conn1 As SqlConnection = New SqlConnection _
("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。

3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。

4、连接参数。

5、如果SQL 数据库就在本机,则用以下代码连接:
("server=.; Integrated Security=False;Initial Catalog= student; User ID= panqe;PWD=shentai768@")。

6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。

1、打开代码窗口,添加引用:Imports System.Data.SqlClient。

2、输入以下代码:

“Public conn1  As SqlConnection = New SqlConnection _

("server=192.168.1.79; Initial Catalog= student; User ID= panqe;PWD=shentai768@")”,vb就已经成功连接sql数据库了。

3、代码详解:声明关键字Public(因为是全局变量,所以用Public 来声明)。

4、连接参数。

5、如果SQL 数据库就在本机,则用以下代码连接:

("server=.; Integrated Security=False;Initial Catalog= student; User ID= panqe;PWD=shentai768@")。

6:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。



一个简单的方法:
首先,建立程序公共模块输入以下代码:
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语句,还可编写出其他方式的查找,这里就不多做介绍了!

Public My_Cnn As New ADODB.Connection '连接数据库
StrCnn = "Provider=SQLOLEDB.1;Password=密码;Persist Security Info=True;User ID=用户名;Initial Catalog=数据库名;Data Source=服务器名"
My_Cnn.CursorLocation = adUseClient
My_Cnn.Open StrCnn

使用数据库
Dim sql As String
Dim My_temp As New ADODB.Recordset

执行SQL语句(一般插入,删除数据)
sql = "数据库语句"
My_cnn.Execute sql

读取数据
sql = "查询语句"
My_temp.Open sql, My_cnn, adOpenDynamic, adLockOptimistic

My_temp.field("字段名")

呵呵,就这么简单

新建工程,在工程中添加一个ado控件
Dim objcon As New ADODB.Connection
Dim objrs As New ADODB.Recordset
objcon.Open "Provider=sqloledb.1;user id=sa;password=密码;Initial Catalog=数据库名;Data Source=远程主机IP或服务器名。本机既是本机IP"
objrs.Open "select * from 表 ", objcon, 3, 1
'再部件中添加DataGrid控件,以显示数据库数据
Set DataGrid1.DataSource = objrs

下面这段为俺曾经用过的很简单的一段程序,连接数据库,用DATAGRID控件显示数据库信息,且通可TEXT控件显示单个数据
点具体的数据
Private Sub Form_Load()
Dim i As Integer
Dim str As String
Dim rs As String
Dim objcon As New ADODB.Connection
Dim objrs As New ADODB.Recordset
objcon.Open "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=ad1;Data Source=192.168.4.12"
'objrs.Open "select * from ql111", objcon, 3, 1
str = "select * from ql111"
rs = "select * from kfxx"
objrs.Open str, objcon, adOpenStatic, adLockBatchOptimistic
'rskfxx.Open rs, objcon, adOpenStatic, adLockBatchOptimistic

Set DataGrid1.DataSource = objrs
For i = 0 To 7
DataGrid1.Columns(i).DataField = objrs.Fields(i).Name
Next i
kjywrefresh
Set Text2.DataSource = objrs
Text2.DataField = objrs.Fields("id").Name
Set Text3.DataSource = objrs
Text3.DataField = objrs.Fields("man").Name
'Set Text4.DataSource = objrs
'Text4.DataField = objrs("lxr").Name
'Set Text5.DataSource = objrs
'Text5.DataField = objrs("tel").Name
Set Text6.DataSource = objrs
Text6.DataField = objrs("gjxx").Name
Set Text7.DataSource = objrs
Text7.DataField = objrs("clff").Name

Set DataCombo1.DataSource = objrs
DataCombo1.DataField = objrs("kfdw").Name
Set DataCombo1.RowSource = rskfxx
DataCombo1.ListField = rskfxx.Fields("kfdw").Name
'Set Text9.DataSource = objrs
'Text9.DataField = objrs("kfdd").Name
Set Text1.DataSource = objrs
Text1.DataField = objrs("ghpj").Name
Set DTPicker1.DataSource = objrs
DTPicker1.DataField = objrs("pcdate").Name
Set DTPicker2.DataSource = objrs
DTPicker2.DataField = objrs("fhdate").Name

End Sub

本想给你一个回答,但非三言两语能说得清。请到书店查阅,例子多得很。


金乡县17222912775: 如何用vb连接sql server数据库 -
子饶德路: 一、配置ODBC数据源 1、在控制面板中,双击管理工具,然后打开ODBC数据源管理器. 2、在“系统DSN”选项卡中,单击“添加”按钮,打开“创建新数据源”对话框,在“名称”列表框中选择“SQL Server”.选好单击完成 3、在打开...

金乡县17222912775: VB怎么连接SQL Server数据库? -
子饶德路: VB连接数据库方式主要有两种,一是通过ODBC接口,ODBC是windows系统里提供的接口,专门连接数据库的,可以连接多种数据库,在应用电脑的设置ODBC,也就DSN数据源(下面说到的),连接到服务器.第二种就是ADO方式,VB使...

金乡县17222912775: vb如何连接SQL数据库 -
子饶德路: 具体方法和代码如下:set conn=server.createobject("adodb.connection") 变量名="driver=sql server;server=IP地址;database=数据库名;uid=用户名;pwd=密码" conn.open 变量名"conn"是你设置的对象名"变量名" 为自定义"IP地址...

金乡县17222912775: VB如何链接数据库SQL -
子饶德路: 这里假设你已建立连接为Adocn详情点击下面的链接 Private Sub Command1_Click() '插入数据(加一个控件command1,和两个文本框text1、text2)将文本框的内容插入数据库相应的表中 Dim Inrs As New ADODB.Recordset '容错处理略去 Adocn.Execute "insert into mytable('字段1','字段2')values('" & Text1.Text & "','" & Text2.Text & "')" End Sub

金乡县17222912775: 在VB里怎么连接sql数据库?
子饶德路: (1)你在SQL SERVER中新建一个数据库,然后将这个数据库生成脚本文件,根据情况修改后转存为MASTER下的一个存储过程.至于数据库名和数据文件路径可以做成参数传入,然后在VB中用连到MASTER后执行这个存储过程. (2)还有怎样...

金乡县17222912775: vb如何连接sql数据库
子饶德路: VB连接SQL模块.直接拿去用吧. Public conn As New ADODB.Connection Public rs As New ADODB.Recordset Public addFlag As Boolean Public Function OpenCn(ByVal Cip As String) As Boolean Dim mag As String On Error GoTo ...

金乡县17222912775: VB如何连接SQL SERVER? -
子饶德路: 打开“控制面板”→“管理工具”→“数据源 (ODBC)”后,出现窗体. 单击“系统DSN”选项卡后,点击“添加”按钮,出现窗体. 选择其中的“SQL Server”后,单击“完成”,出现窗体. 单击“下一步”,.选择“SQL Server验证”...

金乡县17222912775: VB程序有了,如何连接SQL数据库呀 -
子饶德路: 你用ADO试试,那个更方便,给你连库参考代码供调试:Public Cnn As New ADODB.Connection Cnn.ConnectionString = "Driver={SQLServer};Server=ZIYA\ZSSDBA;Database=db_Mtjk;Uid=sa;Pwd=sa" Cnn.Open 这个我多年来都这么用,...

金乡县17222912775: vb连接sql具体步骤 -
子饶德路: Public cn As New ADODB.ConnectionPublic RS As New ADODB.RecordsetPublic cmd As New ADODB.CommandPublic ssql As StringPublic Sub Connect() Dim strConnect As String Dim ServerIp A...

金乡县17222912775: VB 如何连接远程SQL 数据库 -
子饶德路: 指定是用ODBC的,但不是直接用,ODBC用来做驱动程序,你在VB程序中没有跟ODBC连接的字符串,你用ADO控件可连接到SQL数据库,Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=master 这是连接SQL数据库MASTER数据库的连接字符串,你右击ADO控件,按步操作,就可连接到数据库答案补充: 远程连接是局域的吗? 如果是局域的,在ADO中可设置连到他的计算机名就可以了,外网的是他必须能访问到你的计算机,打上你机器名

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网