VB连接SQL数据库,求教!!谢谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB连接SQL数据库,求教!!谢谢相关的知识,希望对你有一定的参考价值。

最近需要写个小软件,我对VB,数据库也了解一点,算是个新手。求高手帮我写个比较全面的VB连接SQL数据库的代码,需要互联网连接,而且可以多个用户连接数据库并进行操作,还望各位朋友不吝赐教啊!谢谢!!!急!

登录窗体名:frmLogin 两个文本框名:txtNum 、txtPwd 登录控件名:cmdLink
主窗体名:frmMain

另外还想问下,登录窗体连接数据库成功后,主窗体里面对数据库操作还需要再次做连接吗?
我要做一个VB+SQL的积分管理系统,但是在用户登录窗口处被卡住了,求各位大虾们帮帮忙!
界面上只用输入用户名和密码,窗口中输入用户名和密码的是两个文本框,分别命名为txtNum和txtPwd.运行时要求是输入用户名和密码,然后检查用户名,密码是否正确,正确则frmMain显示,另:需要互联网连接,而且可以多个用户连接数据库并进行操作。帮我写写这一部分的代码,最好要有注释!
请大侠们帮帮忙,急用啊,感激不尽!

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:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。

参考技术A 如果要互联网显示 就得借助第三方软件,因为vb毕竟是cs架构的
我以前写的 部分代码 你看看 可以参考 form2 相当于你的frmmain

Dim conn As ADODB.Connection
Dim rs As ADODB.Recordset
Dim loginflag As Boolean

Private Sub Command1_Click()
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
'建立无源数据库连接
conn.ConnectionString = "driver=sql server;server=12-3FDA18CE0DDC;uid=sa;pwd=sa;Database=test"
conn.ConnectionTimeout = 50
conn.Open
Dim str As String
'连接连接对象
Set rs.ActiveConnection = conn
'设置游标类型
rs.CursorType = adOpenDynamic
If Trim(Text1.Text = "") Then
MsgBox "用户名不能为空,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Else
'设置查询字符串
str = "select * from tt where name ='" & Trim(Text1.Text) & "'"
rs.Open str
If rs.EOF = True Then
MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告"
Text1.SetFocus
Else
'登录成功,连接主窗口
If (Trim(Text2.Text) = Trim(rs.Fields("password"))) Then
loginflag = True
Me.Hide
Form2.Show
MsgBox "登陆成功"
Else
MsgBox "密码不正确,请重输入密码!", , "警告"
Text2.SetFocus
SendKeys "Home+End"
End If
End If
End If
End Sub

Private Sub Command2_Click()
Me.Hide
loginflag = False
End
End Sub追问

这个只是一个用户sa的连接,比如还有用户A、B、C、D等用户都有自己的密码,也要连接数据库进行操作改怎么做?是不是首先要在数据库里面建表,包括用户名、密码 字段。然后在写相关的代码。。。能教教我吗,谢谢!

追答

我里面有表 表里面就有 用户名密码字段 的呀 你说的很对

追问

你上面代码的意思是不是:所有用户不管自己的账号密码是什么,都先用sa这个服务器登录账号连接数据库,然后再判断数据库用户表(比如user表)中是否有这个用户账号,如果正确则关闭登录窗口再打开主窗口,否则提示错误或者退出程序。这样理解对吗?sa账号可以同时共用吗?

本回答被提问者采纳
参考技术B 1.SQL server连接方法:

set adocon=server.createobject("adodb.recordset")
adocon.Open"Driver=SQL Server;Server=(Local);UID=***;PWD=***;"& _
"database=数据库名;"

2.SQL server OLE DB连接方法:

set adocon=Server.Createobject("adodb.connection")
adocon.open"provider=SQLOLEDB.1;Data Source=RITANT4;"& _
"user ID=***;Password=***;"& _
"inital Catalog=数据库名"

VB使用ADO数据库可以分为有源数据库和无源数据库,即是否使用了DSN数据源,如下例:
1、在连接数据库前首先要在VB菜单中“工程”-“引用”从中选择 microsoft activeX Data objects 2.6 library和 microsoft activeX Data objects recordset 2.6两个组件,这是在连接数据前所必做的工作。
2、接下来定义ADO的连接对象,如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
第一种方法采用的是无源的数据库连接方法
conn.ConnectionString = "Driver=sql server;server=JSZX3-11;uid=sa;pwd=;database=wzc"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名,密码 from login where 用户名='" & Trim(Combo1.Text) & "' And 密码='" & Trim(Text1.Text) & "'", conn, adOpenStatic, adLockReadOnly, adCmdText
If rs.EOF = True And rs.BOF Then
m = MsgBox("请重新登录", vbExclamation)
Text1.Text = ""
Text1.SetFocus
Else
Form1.Hide
End If
rs.Close
这是第二种方法连接数据库的方法,这一种方法是采用有源的方法与数据库连接的方法,代码如下所示:
Set conn = New ADODB.Connection
Set rs = New ADODB.Recordset
conn.ConnectionString = "DSN=login;uid=sa;pwd=;"
conn.ConnectionTimeout = 30
conn.Open
rs.Open "select 用户名 from login", conn, adOpenStatic, adLockReadOnly, adCmdText
Dim i As String
For t = 0 To Val(rs.RecordCount) - 1
i = Trim(rs.Fields("用户名").Value)
rs.MoveNext
Combo1.AddItem i
Next t
rs.Close追问

你提供的只是连接方法,我需要比较完整的程序,能提供吗?谢谢!

追答

你好 具体的例子我本地没有,你可以去网上找一些。

追问

嗯,谢谢!

vb怎么连接sql?

听说用ADO控件不错,但是不懂怎么用,还有代码要怎么写。
现在假设我VB里有个command1和text1,在sql里有个数据库名ep,表名table1,列名line1,想点击command1的时候text1能显示line1里面的东西。
应该怎么做?比如说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:如果代码太长,影响可读性,可以用空格加"_"后,回车换行。

参考技术A '容易,纯代码,粘到Form1,根据SQL是否采用Windows身份验证模式,代码做相应修改
'将conn.Execute后面的语句
改成自己的存储语句
'新建工程时,运行VB6.0后,必须在工程中引用ADO库,具体做法如下:
'工程--〉引用--〉选择“Microsoft
ActiveX
Data
Objects
2.0(或者2.1-2.8)Library”
Option
Explicit
''VB编译时强制声明变量.如果发现没有声明的变量会提示错误.
Dim
conn
As
New
ADODB.Connection
Dim
rs
As
New
ADODB.Recordset
Dim
str
As
String
Dim
msg
As
String
Private
Sub
Form_Load()
'------------------------------------------------------------------------------------------------------------
OpenCn
"db",
"master"
'修改
第一个参数:本地SQL服务管理器名称"db"
;第二个参数:连接数据库名称"master"
'------------------------------------------------------------------------------------------------------------
openRs
("select
*
from
spt_datatype_info")
'执行查询语句
select
*
from
spt_datatype_info
返回所有列
Do
While
rs.EOF
<>
True
str
=
rs.Fields("ss_dtype")
'返回指定列
ss_dtype
msg
=
msg
+
str
+
"_"
rs.MoveNext
Loop
MsgBox
msg
'显示查询结果
'-------------------------------------------------------------------------------------------------------------
conn.Execute
("INSERT
INTO
spt_server_info
(attribute_id,attribute_name,attribute_value)
VALUES
("
&
Int(Rnd
*
99999999)
&
",'myname','myvalue')")
MsgBox
"成功添加一组数据!"
'-------------------------------------------------------------------------------------------------------------
conn.Execute
("UPDATE
spt_server_info
SET
attribute_name='myname',attribute_value='myvalue'
WHERE
attribute_id=1")
MsgBox
"已修改第一组数据!"
'-------------------------------------------------------------------------------------------------------------
End
Sub
Private
Function
OpenCn(ServerName
As
String,
DatabaseName
As
String)
As
Boolean
'连接数据库
Dim
mag
As
String
On
Error
GoTo
strerrmag
Set
conn
=
New
ADODB.Connection
conn.ConnectionTimeout
=
25
conn.Provider
=
"sqloledb"
conn.Properties("data
source").Value
=
ServerName
'SQL
Server
服务管理器
服务器名称
ServerName
conn.Properties("initial
catalog").Value
=
DatabaseName
'数据库名称
DatabaseName
conn.Properties("integrated
security").Value
=
"SSPI"
conn.Open
'-----------------------------------------------------------
SQL设密码的话,做以下修改
'With
conn
'
.CursorLocation
=
adUseClient
'
.Provider
=
"sqloledb"
'
.Properties("Data
Source").Value
=
SQLServerName
'
.Properties("Initial
Catalog").Value
=
DatabasesName
'
.Properties("User
ID")
=
UserID
'
.Properties("Password")
=
LoadPassword
'
.Properties("prompt")
=
adPromptNever
'
.ConnectionTimeout
=
15
'
.Open
'End
With
'-----------------------------------------------------------
OpenCn
=
True
MsgBox
"数据库连接成功!"
Exit
Function
strerrmag:
mag
=
"Data
can't
connect"
Call
MsgBox(mag,
vbOKOnly,
"Error:Data
connect")
Exit
Function
End
Function
Private
Function
cloCn()
'断开数据库
On
Error
Resume
Next
If
conn.State
<>
adStateClosed
Then
conn.Close
Set
conn
=
Nothing
MsgBox
"已将数据库连接断开!"
End
Function
Private
Function
openRs(ByVal
strsql
As
String)
As
Boolean
'连接数据库记录集
Dim
mag
As
String
On
Error
GoTo
strerrmag
Set
rs
=
New
ADODB.Recordset
With
rs
.ActiveConnection
=
conn
.CursorLocation
=
adUseClient
.CursorType
=
adOpenKeyset
.LockType
=
adLockOptimistic
.Open
strsql
End
With
openRs
=
True
Exit
Function
strerrmag:
mag
=
"data
not
connect"
&
vbCrLf
&
strsql
Call
MsgBox(mag,
vbOKOnly,
"error:connect")
openRs
=
False
End
Function
Private
Function
cloRs()
'断开数据库记录集
On
Error
Resume
Next
If
rs.State
<>
adStateClosed
Then
rs.Clone
Set
rs
=
Nothing
MsgBox
"已将数据库记录集连接断开!"
End
Function
参考技术B 回答

一、配置ODBC数据源1、在控制面板中,双击管理工具,然后打开ODBC数据源管理器。2、在“系统DSN”选项卡中,单击“添加”按钮,打开“创建新数据源”对话框,在“名称”列表框中选择“SQLServer”。选好单击完成3、在打开“建立新的数据源到SQLServer”对话框,在“名称”文本框输入新数据源的名称,描述数据源按你理解的方式来写(随意)。“服务器”就选择你要连接到的服务器。4、选择使用用户输入登录的ID和密码的SQL验证。选连接SQL默认设置5、再下一步下一步,完成。测试数据源看连接是否成功就行了。成功后按确定。

二、VB中设置连接1、添加部件MircrosoftADODataControl6.0(OLEDB),把部件拖到窗体。2、对ADO部件点右键选属性,选择使用连接字符串,按生成。3、选择MircosoftOLEDBProvidarforSQLServer按下一步4、1、输入服务器名称2、使用指定的服务器信息3、在服务器上选择数据库这时就选择你在SQLServer建好的数据库就行了5、测试连接可以看到连接是否成功!

提问

谢谢

回答

不客气的,祝您生活愉快~~

参考技术C 一、配置ODBC数据源
1、在控制面板中,双击管理工具,然后打开ODBC数据源管理器。
2、在“系统DSN”选项卡中,单击“添加”按钮,打开“创建新数据源”对话框,在“名称”列表框中选择“SQL Server”。选好单击完成
3、在打开“建立新的数据源到SQL Server”对话框,在“名称”文本框输入新数据源的名称,描述数据源按理解的方式来写(随意)。“服务器”就选择要连接到的服务器。
4、选择使用用户输入登录的ID和密码的SQL 验证
。选连接SQL默认设置
5、再下一步下一步,完成。测试数据源看连接是否成功就行了。成功后按确定。
二、VB中设置连接
1、添加部件Mircrosoft ADO Data Control 6.0(OLEDB),把部件拖到窗体。
2、对ADO部件点右键选属性,选择使用连接字符串,按生成。
3、选择Mircosoft OLE DB Providar for SQL Server
按下一步
1、输入服务器名称
2、使用指定的服务器信息
3、在服务器上选择数据库
这时就选择在SQL Server建好的数据库就行了
5、测试连接可以看到连接是否成功。
参考技术D 在窗体上添加adodc控件
鼠标右键-adodc属性-在通用选项卡里,点生成,选for SQL Server驱动程序-下一步-连接选项卡里
1.输入服务器名称,2.使用Windows NT 集成安全设置。3.选择一个数据库
点测试连接,看看是否成功。按确定

点记录源选项卡,命令类型选8,命令文本(SQL)写:select * from table1
确定,就连接到SQL数据库的表table1了。

Private Sub Command1_Click()
If Not Adodc1.Recordset.EOF Then
Text1.Text = Adodc1.Recordset.Fields("line1")
End If
End Sub

以上是关于VB连接SQL数据库,求教!!谢谢的主要内容,如果未能解决你的问题,请参考以下文章

求教:plsql 连接oracle 报TNS: 无法解析指定的连接,且database下拉为空。求高手

vb.net的数据库连接

VB6.0 如何连接SQL 数据库

vb怎么连接sql?

VB6连接远程数据库SQL2000

VB怎么连接SQL Server数据库?