vb调用数据库
⑴ vb登陆界面用户名调用数据库如何实现
使用Access 2003来建立一个新的空数据库,命名为db1,存储路径为D:\db1,在db1中创建一张新的表格,命名为用户信息表,并设定用户信息表中有两个字段,分别为用户名称和用户口令,注意它们的数据类型均为文本格式,一定要注意,不然到后面代码就会出错,而且极难查错。 完成设计视图之后输入一条记录,记录中的用户名属性值为Angel,密码为123。输入一条记录的目的是用于检验登录代码是否正确以及起到一点演示效果。
下面打开VB6.0,建立一个新的工程,命名为工程1,打开就有一个新的窗体Form1。布置界面如图所示,当然这只是个示例,你可以有更好的界面设计。图中,管理员名称和口令是两个文本兆嫌局框,名称分别为TxtUserName 和TxtPassword,登录和取消为两个按钮,名称分别为CmdLogin和CmdCancel。
准备工作完成之后,就可以添加代码了。代码如下,我将逐行注释。
取消按钮最为简单,代码如下:
Private Sub CmdCancel_Click()
'//结束
End
End Sub
下面添加登录按钮的代码。
Private Sub CmdLogin_Click()
Dim UserName As String
Dim PassWord As String
Dim conn As New ADODB.Connection '定义新的连接
Dim rs As New ADODB.Recordset '定义新的记录族让集
Dim Strsql As String '定义字符串StrSQL
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\db1.mdb" '打开连接,指定连接路径和支持
UserName = Trim(TxtUserName.Text) '将文本框内的值赋给定义好的变量,trim为类型转换函数
PassWord = Trim(TxtPassword.Text)
If UserName = "" Or PassWord = "" Then '如果输入的用户名和密码为空则
MsgBox "对不起,用户或密码不能为空!请重新输入!!", vbCritical, "错误"
ElseIf UserName <> Empty And PassWord <> Empty Then '否则如果用户名与密码都不为空则Cnum自加1,Cnum为窗体载入时添加数字变量,用于记录错误登录次数
Cnum = Cnum + 1
StrSQL = "select * from 用户信息表 where 用户名称= '" & UserName & "'and 用户口令 ='" & PassWord & "'"
'从用户信息表中查询用户名称和用户口令两个字段并获得属性值,为下面的判断语句做准备
rs.Open StrSQL, conn, adOpenKeyset, adLockPessimistic '//打开记录集,可以用数字代替
If rs.EOF = True Then '此句为判断的核心语句,EOF的返回值表示为最后一行的后一行,和BOF类似,返回值为TRUE,则表者隐示表中不存在这一行记录,由此判断密码是否与表中记录相一致,从而达到验证的目的。
MsgBox "对不起,无此用户或者密码不正确!请重新输入!!", vbCritical, "错误"
TxtUserName.Text = "" '置文本框为空
TxtPassword.Text = ""
TxtUserName.SetFocus
rs.Close '每次打开记录完成后需要注意及时关闭,不然下次使用时会出错
If Cnum >= 3 Then '判断输入错误次数,以提高系统的安全性能
MsgBox "对不起,您已经多次失败,无权操作本系统!", vbCritical, "无权限"
Unload Me
Exit Sub
End If
Else '登陆成功,以下为权限验证
Form2.Show
Unload Me
End if
End if
End Sub
Private Sub Form_Load()
'//加载主窗时给文本框赋值
Cnum = 0
⑵ VB怎么调用数据库数据
VB可将Sql结构化查询语句赋值Ado(ActiveX 数据对象)或ADO Data 控件,访问和操作数据库。
ADO (ActiveX 数据对象),这项新的数据访问技术的特性包括:更简单的对象模型;与其它 Microsoft 和非 Microsoft 的技术更好的集成;为本地和远程数据数据提供的通用接口;可远程访问的和断开的记录集;用户可访问的数据绑定接口;以及层次结构的记录集。
ADO Data 控件, 这是一种新的、OLEDB 识别的数据源控件,其功能与内部的 Data 控件和 Remote Data 控件十分相似,通过这种方式允许用户用最少的代码来创建数据库应用程序。
Visual Basic 6.0 中,已经可以将任何 ADO/OLE DB 数据源绑定到任何 ADO/OLE DB 数据使用者上。在运行时,可以设置控件的 DataSource 属性来将控件动态地绑定到数据源。可以创建用作数据源和数据使用者的类,并且通过新的 BindingsCollection 对象将这些类绑定在一起。可以创建与 ADO 数据控件相似的、用作数据源的用户控件。还可以创建与 DataGrid 控件相似的、复杂绑定的用户控件。
以下是经ADO (ActiveX 数据对象)访问Access数据库的实例代码:
DimcnnAsNewConnection
DimrsAsNewRecordset
DimsqlAsString
DimARR
cnn.Open"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:wdOld.mdb;PersistSecurityInfo=False"
sql="select故障名称fromguzhang_bm"
rs.Opensql,cnn
Combo1.Text="故障名称"
DoWhileNotrs.EOF
Combo1.AddItemrs("故障名称")
rs.MoveNext'打开表
Loop
rs.Close
cnn.Close
以下是使用ADO Data 控件访问Access数据库德实例代码:
Adodc1.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;DataSource="&App.Path&"wd.mdb;PersistSecurityInfo=False"
Adodc1.RecordSource="select*fromjishijilu"'whereshijianlike'%8112%'Andgyh_riqilike'%10%'"
Adodc1.Refresh
SetMSHFlexGrid1.DataSource=Adodc1
MSHFlexGrid1.Row=1
MSHFlexGrid1.ColSel=MSHFlexGrid1.Cols-1
⑶ vb中数据库的调用怎么做啊!具体
最最简单的数据库的调用是,用ADO控件,在部件中添加ADO
6。0控件然后把它放到窗体中,右击选属性,在对话框中选择生成连接字符串,点生成按提示做就OK了,比如你要把数据库中数据在一个文本框中显示
在窗体中放入一个文本框,在属性中选择按分类序找到数据那类在DataSource设置为ADO控件,要显示数据库中一个表中的某一例数据,在ADO控件属性中设置资源类型为表,然后到文本框属性框中DateField中设置一下要显示的那一例,然后运行程序就可以单击ADO控件中的按钮来显示了!!!
以上是在VB6。0中的情况啊,而且前提是你的数据库一定要在连接状态下,数据库用户一定要可用!!
⑷ VB程序如何远程调用ACCESS数据库
第一步:你要知道那台电脑的计算机名或者ip地址;
第二步:共享数据库所在的文件夹,要将共享权限设置为能够读写的权限;
第三步:在你的电脑上运行一下那个共享路径:\\计算机名\
共享文件夹
,看能不能打开,如果能
打开,说明共享成功,才能调用代码连接,如果需要用户名和密码你要输入那台电脑的一组用户名和密码;
第四步:在第三步成功的情况下,调用以下代码:
dim
数据库路径
as
string
dim
数据库密码
as
string
数据库路径="\\计算机名\共享文件夹\数据库.mdb"
数据库密码=你的数据库密码(如果没设密码,就为空)
adodc1.ConnectionString="provider=Microsoft.Jet.OLEDB.4.0;Data
source
="
_
&
数据库路径0
&
";Jet
OLEDB:Database
Password="
&
数据库密码
adodc1.recordsource="select
*
from
user"
adodc1.Refresh
⑸ 怎么在VB中调用SQL数据库,数据库已经建好,越详细越好.
Public Function ConnectString() _
As String
ConnectString = "FileDSN=info.dsn;UID=sa;PWD=23" '连接字符器,改成你自己的
End Function
Public Function ExecuteSQL(ByVal SQL _
As String, MsgString As String) _
As ADODB.Recordset '这里是执行SQL语句,你只需要调用这个方法,把SQL查询语句参数传进来,最后返回一个Recordset
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
On Error GoTo ExecuteSQL_Error
sTokens = Split(SQL)
Set cnn = New ADODB.Connection
cnn.Open ConnectString
If InStr("INSERT,DELETE,UPDATE", _
UCase$(sTokens(0))) Then
cnn.Execute SQL
MsgString = sTokens(0) & _
" query successful"
Else
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, _
adOpenKeyset, _
adLockOptimistic
'rst.MoveLast 'get RecordCount
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit:
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error:
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
Public Function Testtxt(txt As String) As Boolean
If Trim(txt) = "" Then
Testtxt = False
Else
Testtxt = True
End If
End Function