㈠ 一个超级简单的vb数据库
在VB中,访问数据库一般有两种方式。一是非编码方式,主要通过Data等控件,可以不需要任何编程,只需简单设置控件的一些属性并结合文本框等普通控件即可方便地显示和操作数据库中的数据。二是通过编写代码,即利用数据访问对象(DAO)来实现。虽然编写代码要花费更多的时间与精力,但却可以实现更灵活更复杂的操作(如图1)。
首先介绍几个常用的VB数据库概念:
表(Table):即关系数据库中物理存在的二维表。VB的一个数据库文件可以包含相关的多个二维表。在成功打开一个数据库之后,必须打开一个表才能对其中的数据进行操作。
记录集(RecordSet):来自表中的记录或者执行一个查询而产生的记录,这些记录就组成了一个记录的集合。在VB中数据库表中的数据不允许直接访问,而只能通过创建于内存中的这些记录集进行记录的浏览与操作。
sql语言:一种数据库管理中的通用结构化查询语言。
现在介绍一下VB中的“可视化数据管理器(Visual
Data
Manager)”。可视化数据管理器具有进行数据库的创建、查看、修改库结构以及输入记录等功能。下面介绍如何利用它建立一个完整的数据库文件。
一、创建表
1.
从“外接程序”选单中,选择“可视化数据管理器”,这时出现VisData可视化数据管理器窗口。分别移动鼠标指针到工具栏上的前三个按钮,系统会提示要以何种记录集类型来访问VB数据库:一是“表类型记录集”,二是“动态集类型记录集”,三是“快照类型记录集”。我们先选择“动态集类型记录集”。
2.
从“可视化数据管理器”的“文件”选单中选择“新建”,选择“MicroSoft
Access”类型,再选择“版本7.0MDB”。
3.
选择保存库文件的目录(设把文件保存在C盘的根目录中,文件名为Myfile)。
4.
这时出现“数据库”窗口,此时数据库已存在,但还不包含任何的表名以及字段定义等表结构。点击右键,选择“新表”,添加一个新表,出现“表结构”对话框,在“表名”框中输入表名(本例表名为Phone)。
5.
单击“添加字段”按钮,显示“添加字段”对话框。按要求分别定义“字段名”、“类型”及“大小”。先输入第一个字段,然后按“确定”,反复这一过程,直到输入全部的字段(本例字段分别为“序号”,“Long”,“4”;“姓名”,“text”,“8”;“电话”,“text”,“15”;“地址”,“text”,“30”)。
6.
单击“关闭”,从“添加字段”对话框退回到“表结构”窗。点击“生成新表”,保存表结构。
图1
VB访问数据库的两种方法
7.
在“数据库”窗双击新建的表名,按“添加”开始向表中添加记录,完毕后按“更新”。反复这一过程,向表中多增添几个记录。
8.在数据库中再建一个表,表名为Article。表包含字段为“序号”,“Long”,“4”;“作品”,“text”,“15”(为了简单起见表中只有两个字段)。向表中增加几条记录,比如序号1对应有多个作品,序号2也有多个作品。
二、增加索引
右键单击Phone表名,选择“设计”,在表设计窗口的底部,单击“添加索引”按钮,可打开“添加索引到……”对话框。
从“可用字段”列表中选择要进行索引的字段名放到“索引字段”列表中,根据需要选中“主要的”、“惟一的”、“忽略空值”复选框中的一个或多个的组合,在“名称”中加入索引名,保存该索引。
三、SQL查询
在“可视化数据管理器”中打开一个库文件,在弹出“数据库”窗口的同时,在其后面会弹出一个“SQL语句”对话框。把其变为当前窗口,可在其中输入SQL语句,比如:select
phone.姓名,article.作品
from
phone,article
where
phone.序号=article.序号。
然后点击“执行”按钮,弹出对话框提问“这是SQL传递查询吗?”直接回车,选择默认选项“否”,确认查询,即可从两个表中提取满足条件的记录信息。还可以点击“清除”按扭清除框中的查询语句或按“保存”在数据库中保存此查询。值得注意的是,查询中保存的只是查询定义语句,而并未物理保存这些被查询的记录数据。
㈡ 求 vb 连接数据库 的实例
简单代码实现::
<%
dim conn '定义变量 conn
Set Conn = Server.CreateObject("ADODB.Connection") '建立连接对象
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("库的名字.mdb") '打开库
dim rs,sql
set rs=server.CreateObject("adodb.recordset") '建立记录对象
sql="select * from 表的名字"
rs.open sql,conn,3,2 '打开表
rs.addnew
rs("表中数据类型的名字")=request.Form("表单的名字")
rs("表中数据类型的名字")=request.Form("表单的名字")
rs.update
rs.close
set rs=nothing '关闭表
conn.close
set conn=nothing '关闭库
%>
蒙狼建站---您互联网的“诚信”合作伙伴!
㈢ vb连接access数据库实例
工程-引用-勾选 Microsoft Active Data Objects 2.6 Library
代码部分
dim cn as new adodb.connection
dim rs as adodb.recordset
private sub form_load()
cn.open “provider=microsoft.jet.oledb.4.0;data source=” & app.path & “\123.mdb”
set rs=new adodb.recordset
rs.open“select * from 数据库字段名 where 数据库字段名=`” & trim(text1.text) & “`”,cn
end sub
private sub command_click
if rs.eof=false then msgbox rs(“数据库字段名”)
end sub
手机打的可能有错!
㈣ 求VB连接MDB数据库的例子
哈哈,这个很简单的
引用 Microsoft ActiveX Data Objects 2.8 Library
或者加入microsoft ado data control
定义数据库连接
Dim Cnn As New ADODB.Connection
定义操作记录
Dim Res As New ADODB.Recordset
开始使用
If Res.State = 1 Then Res.Close
Res.CursorLocation = adUseClient
Res.Open "SELECT * From 发票表", Cnn, adOpenDynamic, adLockReadOnly
删除用res.Delete
添加用res.AddNew
res.Fields("序号") = Trim(Res.Fields("序号"))
...
res.Update
更新用Res.Update "序号", 111
列:
'写入产品信息
Sub WriteFP()
'On Error Resume Next
Dim SyBaseRes As New ADODB.Recordset
PB.value = 0
Res.Open "SELECT Count(*) From ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly
Text2.Text = "当前共 " & Val(Res.Fields(0)) & "条数据"
PB.Max = Val(Res.Fields(0))
If Res.State = 1 Then Res.Close
Res.Open "SELECT ICSaleEntry.FDetailID AS 序号,ICSaleEntry.FInterID AS 物料编号, t_Item.FName AS 产品名称,ICSaleEntry.FAuxPrice AS 单价, ICSaleEntry.FAuxQty AS 数量,ICSaleEntry.FAmount AS 原币, ICSaleEntry.FStdAmount AS 本币,t_MeasureUnit.FName AS 单位 FROM ICSaleEntry INNER JOIN t_Item ON ICSaleEntry.FItemID = t_Item.FItemID INNER JOIN t_MeasureUnit ON ICSaleEntry.FUnitID = t_MeasureUnit.FMeasureUnitID", SQLServer, adOpenDynamic, adLockReadOnly
Do While Not Res.EOF
If SyBaseRes.State = 1 Then SyBaseRes.Close
SyBaseRes.Open "select * from 物料表 where 序号='" & Res.Fields("序号") & "'", Cnn, adOpenDynamic, adLockOptimistic
If SyBaseRes.EOF Then
Text2.Text = Text2.Text + vbCrLf + "正在添加: " & Trim(Res.Fields("序号"))
SyBaseRes.AddNew
SyBaseRes.Fields("序号") = Trim(Res.Fields("序号"))
SyBaseRes.Fields("产品编号") = Trim(Res.Fields("物料编号"))
SyBaseRes.Fields("产品名称") = Trim(Res.Fields("产品名称"))
SyBaseRes.Fields("单价") = Trim(Res.Fields("单价"))
SyBaseRes.Fields("数量") = Trim(Res.Fields("数量"))
SyBaseRes.Fields("原币") = Trim(Res.Fields("原币"))
SyBaseRes.Fields("本币") = Trim(Res.Fields("本币"))
SyBaseRes.Fields("单位") = Trim(Res.Fields("单位"))
SyBaseRes.Fields("数据库名") = Trim(Text1.Text)
SyBaseRes.Update
Else
Text2.Text = Text2.Text + vbCrLf + "正在更新: " & Trim(Res.Fields("序号"))
SyBaseRes.Update "序号", Trim(Res.Fields("序号"))
SyBaseRes.Update "产品编号", Trim(Res.Fields("物料编号"))
SyBaseRes.Update "产品名称", Trim(Res.Fields("产品名称"))
SyBaseRes.Update "单价", Trim(Res.Fields("单价"))
SyBaseRes.Update "数量", Trim(Res.Fields("数量"))
SyBaseRes.Update "原币", Trim(Res.Fields("原币"))
SyBaseRes.Update "本币", Trim(Res.Fields("本币"))
SyBaseRes.Update "单位", Trim(Res.Fields("单位"))
SyBaseRes.Update "数据库名", Trim(Text1.Text)
End If
PB.value = PB.value + 1
Res.MoveNext
DoEvents
Loop
If SyBaseRes.State = 1 Then SyBaseRes.Close
Set SyBaseRes = Nothing
End Sub
网络希望不要用ACCESS用ASA(就是sybase那个太强了)
㈤ VB 数据库实例
用ADO法(要先引用)
连接:
Dim cn As ADODB.Connection
Set cn=New ADODB.Connection '上两句为声明创建ADO变量(下同)
cn.open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=X;" 'X为数据库路径(加文件名)
cn.Close '关闭数据库
Set cn=Nothing ‘释放数据
读取:
Dim rs As ADODB.RecordSet
Set rs=New ADODB.RecordSet
rs.Open "select * from X1", cn,X2,X3 'X1为表名,cn就是上面连接的cn(下同),X2为数据库游标类型,X3为数据库锁方式(读取方式)
Do While Not rs.EOF
XXXXX '读取数据至程序的代码,自编
rs.MoveNext ’移动到下一条记录
Loop
……
……
…… '关闭…,释放…
Set rs=Nothing
Set cn=Nothing
剩下的网上搜,大把
㈥ vb连接ACCESS数据库实例
对于没有VB运行库的机器,必须注册VB运行库,程序中的代码不需要改动。 ----------------------------------- 链接数据库的方法比较多,看你采用什么方法链接了,: 1、用ADO链接;2、用Data数据控件链接;3、用ADODB数据控件链接;还有数据库文件是Access 1997?Access 2000?Access 2003?有没有加密?等等等等问题,首先确定这些问题,才能..... 下面给你一个用ADO的代码链接的实例:(ACCESS 2003) 首先在工程中点击【工程】-【引用】,在打开的对话框选择Microsoft AxtiveX Data Objects 2.8 Library 勾选,然后定义二个对象: Dim conn As New ADODB.Connection, rs As New ADODB.Recordset 其中conn是数据库链接对象,rs是数据记录集对象 那么,下面就是利用SQL语句链接数据库了: conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\library\1.mdb;Jet OLEDB:Database Password=" strSQL = "SELECT * FROM 数据库中的表" rs.Open strSQL, conn, 3, 3 至此数据库已经链接成功,并且已经加载了记录集,下面你就可以进行数据操作了,注意,在数据库操作完成后,千万别忘记关闭记录集和数据库链接对象: rs.Close conn.Close
㈦ vb 例子
1..
Dim Words, Chars, MyString
For Words = 10 To 1 Step -1 ' 建立 10 次循环。
For Chars = 0 To 9 ' 建立 10 次循环。
MyString = MyString & Chars ' 将数字添加到字符串中。
Next Chars ' Increment counter
MyString = MyString & " " ' 添加一个空格。
Next Words
2.
Do...Loop 语句示例
本示例示范如何使用 Do...Loop 语句。内层的 Do...Loop 语句循环到第 10 次时将标志值设置为 False,并用 Exit Do 语句强制退出内层循环。外层循环则在检查到标志值为 False 时,马上退出。
Dim Check, Counter
Check = True: Counter = 0 ' 设置变量初始值。
Do ' 外层循环。
Do While Counter < 20 ' 内层循环。
Counter = Counter + 1 ' 计数器加一。
If Counter = 10 Then ' 如果条件成立。
Check = False ' 将标志值设成 False。
Exit Do ' 退出内层循环。
End If
Loop
Loop Until Check = False ' 退出外层循环。
3.
While...Wend 语句示例
本示例使用 While...Wend 语句来增加计数变量的值。如果条件判断值为 True,则循环内的语句将一直执行下去。
Dim Counter
Counter = 0 ' 设置变量初值。
While Counter < 20 ' 测试计数器的值。
Counter = Counter + 1 ' 将计数器的值加一。
Wend ' 当 Counter > 19 时则循环终止。
Debug.Print Counter ' 在“立即”窗口中显示数字 20。
Select Case 语句示例
本示例使用 Select Case 语句来判断变量的值。示例中第二个 Case 子句包含了变量值,故只有此区块内的语句会被完成到。
Dim Number
Number = 8 ' 设置变量初值。
Select Case Number ' 判断 Number 的值。
Case 1 To 5 ' Number 的值在 1 到 5 之间,包含1 和 5 。
Debug.Print "Between 1 and 5"
' 下一个 Case 子句是本示例中唯一判断值为 True 的子句。
Case 6, 7, 8 ' Number 的值在 6 到 8 之间。
Debug.Print "Between 6 and 8"
Case 9 到 10 ' Number 的值为 9 或 10。
Debug.Print "Greater than 8"
Case Else ' 其他数值。
Debug.Print "Not between 1 and 10"
End Select
㈧ VB中用data连接数据库具体方法,给个例子谢谢
使用Data控件
内在的 Data 控件通过使用 Microsoft 的 Jet 数据库引擎来实现数据访问 –与 Microsoft Access 所用的数据库引擎相同。这一技术使用户可以无缝地访问很多标准的数据库格式,而且使用户无需编写任何代码就可以创建数据识别应用程序。这种内在的 Data 控件最适合较小的(桌面)数据库,诸如 Access 和 ISAM 数据库。
可以使用这种内在的 Data 控件创建应用程序,来显示、编辑和更新来自多种已有的数据库的信息。这些数据库包括 Microsoft Access、Btrieve、dBASE、Microsoft FoxPro�⒁约_ Paradox。也可以使用这种控件如同访问真正的数据库一样来访问 Microsoft Excel、Lotus 1-2-3、以及标准的 ASCII 文本文件。此外,Data 控件也可以访问和操作远程的开放式数据库连接 (ODBC) 数据库,诸如 Microsoft SQL Server 以及 Oracle。
注意 Data 控件和 Remote Data 控件两者都包含在 Visual Basic 中,以提供向后兼容。不过,由于 ActiveX 数据对象 (ADO) 的适应性更广,因此建议使用 ADO Data 控件来创建新的数据库应用程序。详细信息请参阅“使用 ADO Data 控件”。
Data 控件、Remote Data 控件、以及 ADO Data 控件在概念上很相似: 三者都是将一个数据源连接到一个数据绑定控件的“数据控件”。三者也都共享相同的外观—一组共四个按扭,使用户可以直接到达记录集的开始、记录集的末尾、以及在记录集中向前或向后翻卷。
使用 Data 控件创建一个简单的数据库应用程序
要使用 Data 控件创建一个简单的数据库应用程序
在窗体上放置一个 Data 控件。Data 控件是一个内在的控件,因而总是可用的。
单击并选定这个 Data 控件,按 F4 键显示“属性”窗口。
在“属性”窗口中,将“连接”属性设置为想要使用的数据库类型。
在“属性”窗口中,将“DatabaseName”属性设置为想要连接的数据库的文件或目录名称。
在“属性”窗口中,将“记录源”属性设置为想要访问的数据库表的名称。
在该窗体上放置一个文本框控件。
单击并选定这个 TextBox 控件,并在其“属性”窗口中将“数据源”属性设置为该 Data 控件。
在这个“属性”窗口中,将“数据字段”属性设置为在该数据库中想要察看或修改的字段的名称。
对其它的每一个想要访问的字段,重复第 6、7、8 步。
按 F5 键运行这个应用程序。
设置 Data 控件与数据相关的属性
下述与数据相关的属性可以在设计时设置。这个列表给出了设置这些属性的一种逻辑顺序:
注意 数据库技术是一门复杂的科学,下面的这些建议并不意味着要当作规则来使用。
RecordsetType — RecordsetType 属性决定记录集是一个表、一个动态集 (dynaset)、还是一个快照。这个选择将影响哪些记录集属性是可用的。例如,快照类型的记录集与 dynaset 记录集相比具有更多的限制。
DefaultType — DefaultType 属性指定所使用的是 JET 工作空间,还是 ODBCDirect 工作空间。
DefaultCursorType — DefaultCursorType 属性决定光标的位置。可以使用 ODBC 驱动程序来决定光标的位置,或者指定服务器或 ODBC 光标。只有当使用 ODBCDirect 工作空间时,DefaultCursorType 属性才是有效的。
Exclusive — 决定该数据是用于单用户环境,还是多用户环境。
Options — 这个属性决定记录集的特征。例如,在一个多用户环境中,可以设置 Options 属性来禁止他人所做的更改。
BOFAction、EOFAction — 这两个属性决定当这个控件位于光标的开始或末尾时的行为。可能的选择包括停留在开始或末尾、移动到第一个或最后一个记录、或者添加一个新的记录(只有在末尾时)。
㈨ 如何用VB建立数据库
1、首先点击打开主菜单栏中的“外接程序”选项。
㈩ VB与数据库的连接 示例
open C:"" for input as #1
do while not eof(1)
line input #1,bb
然后自己找条件