要查找数据库信息,关键是要解决链接数据库的问题,下面简述Vb如何SQL数据库:
有两种方法可以实现,一种是通过ODBC数据源的配置进行连接,一种是通过纯代码编辑进行连接,下面我们就详细介绍一下这两种连接方法。
ODBC数据源VB连接SQL数据库
一、配置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按下一步
4、
1)输入服务器名称
2)使用指定的服务器信息
3)在服务器上选择数据库
这时就选择你在SQL Server建好的数据库就行了
5、测试连接可以看到连接是否成功!
通过代码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 strerrmag
Set conn = New ADODB.Connection
conn.ConnectionTimeout = 25
conn.Provider = "sqloledb"
conn.Properties("data source").Value = Cip '服务器的名字
conn.Properties("initial catalog").Value = "zqoa" '库名
'conn.Properties("integrated security").Value = "SSPI" '登陆类型
conn.Properties("user id").Value = "sa"
conn.Properties("password").Value = "sa"
conn.Open
OpenCn = True
addFlag = True
Exit Function
strerrmag:
mag = "Data can't connect"
Call MsgBox(mag, vbOKOnly, "Error:Data connect")
addFlag = False
Exit Function
End Function
Public Sub cloCn()
On Error Resume Next
If conn.State <> adStateClosed Then conn.Close
Set conn = Nothing
End Sub
Public Function openRs(ByVal strsql As String) As Boolean '连接数据库记录集
Dim mag As String
Dim rpy As Boolean
On Error GoTo strerrmag
Set rs = New ADODB.Recordset
If addFlag = False Then rpy = True
With rs
.ActiveConnection = conn
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open strsql
End With
addFlag = True
openRs = True
End
'Exit Function
strerrmag:
mag = "data not connect"
Call MsgBox(mag, vbOKOnly, "error:connect")
openRs = False
End
'Exit Function
End Function
Public Sub cloRs()
On Error Resume Next
If rs.State <> adStateClosed Then rs.Clone
Set rs = Nothing
End Sub
B. VB显示数据库内容
您好,我来帮你搞定:
1 新建工程;在窗体上加入一个按钮command1,一个文本框text1,
2 添加引用;工程-引用-Microsoft ActiveX Data Objects 2.7 Library;
3 将工程保存在d:\MY_project文件夹
4 我一看就知道你的数据库是access数据库,哈哈。
代码如下:
private sub Form_Load()
on error goto errmsg '遇到错误,转到errmsg
dim MyConStr as string '连数据库字符串
dim sqlstr as string '查询语句
dim a as string '对应表中的字段a b c
dim b as string
dim c as string
dim conn2 as New ADODB.connection ’连接对象
MyConStr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\db.mdb"
conn2.open MyConStr '建立数据库连接
dim rs as New ADODB.Recordset ’创建数据集对象
sqlstr="select top 1 * from MyTable order by a desc" '选出最大编号的记录
rs.open sqlstr,conn2,1,1 '读取数据到记录集
’假设MyTable这张表里有3个字段a,b,c ,其中a就是那个自动编号
Do while Not rs.Eof
a = RTrim(LTrim(rs("a")))+"|" '加上|方便输出有分隔
b = RTrim(LTrim(rs("b")))+"|"
c = RTrim(LTrim(rs("c")))
text1.text=a+b+c '将记录显示在文本框内,每个字段都有|分隔
rs.move next
Loop
rs.close
set rs=nothing
set conn2=nothing
errmsg:
if err.number<>0 then
MsgBox CStr(Err.Number) + CStr(Err.Description), vbExclamation, "错误!"
exit sub
end if
end sub
************************** 祝你成功喔!***************************
PS:“Provider=Microsoft.Jet.OLEDB.4.0;Data Source="你的mdb数据库全路径"
上面那句话里的中文 要填写上你自己的实际的内容比如(d:\data\mydata.mdb)。
还有就是我那个"select top 1 * from MyTable order by a desc" MyTable 以及里面的字段 都要填写自己的内容喔!
C. vb 怎样显示access中的所有数据
1、必须采用循环
DO WHILE NOT RS.EOF 的语句
2、各字段显示在不同的显示控件中,例如显示在Text控件中
3、在循环过程中要移动记录集指针:RS.MOVENEXT
4、用LOOP结束循环
看下面的例子:
Do While Not rs.EOF
Text1(i).Text=rs!字段1
Text2(i).Text=rs!字段2
Text3(i).Text=rs!字段3
.....
i=i+1
rs.MoveNext
Loop
注意:Text1(i).Text是控件数组
D. 在vb中怎么把access 数据库中的数据全部显示出来
Private Sub Form_Load()
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\Stu.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select * from tb_stu "
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
end Sub
'Stu.mdb 是数据库,tb_stu是数据库表名
'添加datagrid 、Adodc1 控件