当前位置:首页 » 操作系统 » vb和数据库

vb和数据库

发布时间: 2022-05-23 22:08:55

Ⅰ VB和数据库

这个问题让人感觉好无奈,我以非专业人士的目光告诉你。
1、RS,,,CN是你 Set CN=*****后,这个CN object才有了功能。RS也是这样。你应该说
ADODB.Connection,,,及 ADODB.Recordset这两个东西,有啥区别才是
2、是不是每次访问数据库,RS和CN都需要关闭,感觉这问题有点怪,这个RS或CN一旦被设置成了某个object,它就背上了这个object的东西,不放下旧的,就不能再背新的,背两种东西,它就累的受不了,就会叫喊“Error”。这么说,不知道你能理解不。

3、Connection是excut命令吧?记不清了,暂定为它吧,它连接库后,不返回值。Recordset是Open是有返回值的。详细这点,你再网络下,具体谁好,看你需求了,一般都是用的RS.Open。便于后面的具体操作。当然,excut也可以。

Ⅱ 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如何连接数据库

使用ADODC数据控件,它与数据库连接方式很多,并支持SQL结构化查询语言,能实现动态查询.但用控件也要写一些代码,以达到应用程序的目的.
数据库用VB6编程语言,对新手而言,如何用好ADODC控件和DATAGRID控件相当重要。具体做法:
新建工程时选数据工程,此时VB6集成调试环境左边工具箱内已加载了有关数据库编程必须的控件。
然后在FORM1窗体中添加ADODC控件和DATAGRID控件,将DATAGRID1的属性DATASOURCE选ADODC1,打开ADODC1控件属性页使用连接字符串,选生成,在提供者选项中根据数据库结构如*.MDB数据库则选MICROSOFT jet 4.0 OLE DB Provider或其它连接引擎,然后按要求连接数据库等。在ADODC1控件属性页使用连接字符串空白文本窗口中就有一长串字符串,注意该字符串可复制到程序代码用于编程。ADODC1控件属性页的数据源内有命令文本(SQL)编写窗口可编写SQL查询语言。该窗口的SQL语句可复制到程序代码用于编程。
SQL查询语言主要结构为:
Select 查询字段 from 表名 Where 查询条件语句 [排序语句或分组语句]
查询字段必须分别用(西文)逗号分开或就用一个*号代替,上述查询中排序语句建议最好应用。
SQL查询语言如有错程序运行时告诉你出错,作相应改动即可。本人一般先按上述连接,SQL用"SELECT * FROM TabelName"作调试,无问题,用一个按钮孔件将前述需复制的连接字符串和SQL查询语言先复制于按钮控件的CLICK事件中备着,以便放着以后使用。然后删去ADODC1孔件,再添加ADODC1控件再添其他内容。
下给出一段数据连接代码:
Private Sub Form_Load()
Text1 = ""
With Adodc1
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\db1.mdb;Persist Security Info=False"
Adodc1.RecordSource = "select name from b1 order by name"
Adodc1.Refresh
DataGrid1.Refresh
End With
End Sub
SQL查询语言多写多用

Ⅳ VB和数据库的链接

ADO部分:
一.用Adodc控件连接数据库
例:
Adodc1.ConnectionString = "DBQ=E:\system.mdb;Driver={Microsoft Access Driver (*.mdb)};pwd=123;"
Adodc1.RecordSource = "select * from 专业 where 专业名称<>’123’"
Adodc1.Refresh
Set Text1.DataSource = Adodc1
Text1.DataField = "专业名称"
二.不使用Adodc控件,连接数据库
Adodc控件虽然简单易用,但功能上受很多限制,速度也慢,能不用就不用。使用ADO,可以在代码中动态改变绑定控件的DataSouce属性,所以控件可以绑定到RecordSet对象上,并非一定要绑定到Adodc控件,这一点比DAO方便多了。偶觉得这也进一步削弱了使用Adodc控件的必要性(实际上偶从来没正经用过Adodc控件)。
首先,添加对ADO的引用,菜单“工程”->“引用”->Microsoft ActiveX Data Objects 2.5 Library(未必是2.5,2.1亦可)。也可以通过在窗体上放置一个Adodc控件让VB自动添加这个引用。
例1:本例没有使用带DSN的连接字符串, 作为替换方法,指定了ODBC 的驱动程序。指定DSN,需要通过“Windows 控制面板”对ODBC数据源进行定义,有点麻烦,而且将来打包安装都是个问题。
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "DBQ=E:\system.mdb;Driver={Microsoft Access Driver (*.mdb)};pwd=123;"
rs.Open "专业", cn, adOpenDynamic, adLockReadOnly, adCmdTable
Set Text1.DataSource = rs
Text1.DataField = "专业名称"
例2:使用OLE DB接口是首选,比ODBC要快很多。正如MSDN所言,“对于 ADO 或 RDS 的程序员来说,理想的环境是每个数据源都具有一个 OLE DB 接口,以便 ADO 可以直接调用该数据源”。Access当然提供了OLE DB 接口,所以嘛,让ODBC走远点吧:)
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=e:\system.mdb;Jet OLEDB:Database Password=123;"
rs.Open " select * from 专业 where 专业名称<>’123’", cn, adOpenKeyset, adLockReadOnly, adCmdText
Do While Not rs.EOF
Debug.Print rs.Fields("专业名称")
rs.MoveNext
Loop
三.得到数据库中所有表的名字
用ADO得到所有表名,不像DAO那样直接,所以很多人不知道怎么做。偶也是有一天闲着无聊,乱七八糟做了半天试验,偶然发现的这个东东。
首先,添加两个引用:Microsoft ActiveX Data Objects 2.5 Library和Microsoft ADO Ext. 2.5 for DDL and Security
例:
Dim cn As New ADODB.Connection
Dim x As New ADOX.Catalog
cn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=e:\system.mdb;Jet OLEDB:Database Password=123;"
x.ActiveConnection = cn
Dim i As Long
For i = 0 To x.Tables.Count - 1
Debug.Print x.Tables(i).Name, x.Tables(i).Type
Next
四.压缩数据库
刚开始用ADO编程的时候,不知道怎么实现数据库的压缩。后来偶然在一本书上看到了一个示例,赶紧记了下来。奇怪的是,从那以后,好像到处都可以见到用ADO压缩数据库的示例:)
首先,添加引用Microsoft Jet and Replication Objects 2.1 Library和Microsoft ActiveX Data Objects 2.1 Library
例:
Dim jj As New JRO.JetEngine
jj.CompactDatabase "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=e:\system.mdb;Jet OLEDB:Database Password=123;", "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=e:\system1.mdb;Jet OLEDB:Database Password=123;"
Kill "e:\system.mdb"
Name "e:\system1.mdb" As "e:\system.mdb"
注:这个方法同时实现对数据库的修复,也可以实现对密码的修改。ADO中专门用于修改密码的方法偶还没找到。
五.在数据库中存放图片
在ADO中,想在数据库中存放图片比DAO麻烦不少,它不能把绑定的图片框中的图像自动存入数据库。2.1版以前,ADO程序员一般通过AppendChunk这个方法实现此目的,那可不是一般的麻烦,MSDN给出的示例有50多行。所以很多人干脆在数据库中存放图片的路径,显示时再LoadPicture。
到了2.5版,ADO提供了Stream来解决这个问题,方便极了。
偶是在一本书中看到的这种方法,书上说,虽然Value是Field的缺省属性,在这里却不可以省略。偶试验了一下,即使不写.Value,使用缺省属性,也可以正常工作。不过在本例中偶还是显式指明了Value属性。
首先,添加引用Microsoft ActiveX Data Objects 2.5 Library
例1:把图片文件存入数据库
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.LoadFromFile "e:\Camcord.bmp"
rs.AddNew
rs.Fields("image").Value = s.Read()
rs.Update
例2:把数据库中的图像数据导出为文件
Dim cn As New ADODB.Connection
cn.Open "DBQ=E:\db.mdb;Driver={Microsoft Access Driver (*.mdb)};"
Dim s As New ADODB.Stream
Dim rs As New ADODB.Recordset
rs.Open "图片表", cn, adOpenDynamic, adLockOptimistic, adCmdTable
s.Type = adTypeBinary
s.Open
s.Write rs.Fields("image").Value
s.SaveToFile "e:\xxx.bmp"
注:1.图片表的image字段类型为OLE 对象。
2.可以看出,这种方法并非只能用来存放图片文件,实际上任何文件都可以通过这种方法存入数据库,只不过好像没什么必要这么做。实际上,如果图片很大数量又多,存入数据后,浏览速度会变得很慢,不如改为存放文件路径。

Ⅳ 怎么把VB 和数据库连接起来

ado

//使用ADO控件集动态打开ACCESS数据库列程
//本方法主要面向客户选择目标ACCESS数据库
//取代弹出的ConnectionString的设置对话框
//注:ADOTable和ADOQuery控件的连接字串不同
//着名关心CSDN结贴率爱国人士-实用库Tip No 1 - 2003-9-25
function FileName_DataBasePassWord(FileName:string; DataBasePassWord:string=''):string;
begin
FileName_DataBasePassWord:='Provider=Microsoft.Jet.OLEDB.4.0;'+
'User ID=Admin;Data Source='+
form1.OpenDialog1.FileName+ //数据库文件路径
';Mode=Share Deny None;Extended Properties="";'+
'Jet OLEDB:System database="";'+
'Jet OLEDB:Registry Path="";'+
'Jet OLEDB:Database Password='+
DataBasePassWord+ //数据库密码
';Jet OLEDB:Engine Type=5;'+
'Jet OLEDB:Database Locking Mode=1;'+
'Jet OLEDB:Global Partial Bulk Ops=2;'+
'Jet OLEDB:Global Bulk Transactions=1;'+
'Jet OLEDB:New Database Password="";'+
'Jet OLEDB:Create System Database=False;'+
'Jet OLEDB:Encrypt Database=False;'+
'Jet OLEDB:Don''t Copy Locale on Compact=False;'+
'Jet OLEDB:Compact Without Replica Repair=False;'+
'Jet OLEDB:SFP=False';
end;

procere TForm1.DynamicOpenAdoAccess_BtnClick(Sender: TObject);
begin
form1.OpenDialog1.Filter:='Text files (*.mdb)|*.MDB';
form1.OpenDialog1.DefaultExt:='MDB';
form1.OpenDialog1.InitialDir:=application.GetNamePath;
form1.OpenDialog1.Title:='指定Access数据库Mdb文件的位置';
if form1.OpenDialog1.Execute then
begin
form1.ADOConnection1.LoginPrompt:=false;
//带密码数据库的使用
//form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName,'ghyghost');
//不带密码数据的使用
form1.ADOConnection1.ConnectionString:=FileName_DataBasePassWord(form1.OpenDialog1.FileName);
form1.ADOConnection1.Open;
form1.ADOQuery1.open; //ADOQuery1's SQL Properties is 'select * from [tablename]'
end;
end;

Ⅵ 数据库是什么意思,VB是拿来做什么用的它们有什么关系吗

数据库就是用来存储数据的工具,可以在里面对数据进行查询插入删除等操作,vb是编程工具,用来写电脑软件的,他们之间的关系是相互依存的,编写程序离不开数据支持,没有数据的程序是死的,而程序的数据就来自于数据库

Ⅶ 怎么将VB和数据库联系起来

vb和数据库连接的方法主要有DAO和ADO
DAO是VB5.0的连接数据库的方法,当然在6.0中可以继续使用。主要就是用Data控件连接数据库,并用DBGrid控件显示数据库的表。
ADO是VB6.0中的连接数据库的方法,主要是用Adodc控件连接数据库,并用DataGrid控件来显示数据库的表。
个人认为,两种方法各有优势,主要看个人喜好了。

Ⅷ vb与数据库

数据库中有一个学生表,这个表里面有学号(stnum),姓名(stname),各科成绩(gaoshu 、yingyu、wuli等等)和平均分等字段。FORM5窗体有几个文本框,着段代码就是把这个窗体的几个文本框的值录入到数据库学生成绩表,并计算平均分输入到这条记录中。向数据库表中录入数据后打开新窗体,关闭本窗体。

Ⅸ VB与数据库

其实VB连接数据库就那么几条语句
随便在网上打个VB连接数据库都能找的到(access)
下面是一个教程,看看吧
http://down.520hack.com/donghua/200706/623/@LinkGate@-@LK@/vbdata.rar

Ⅹ VB结合数据库

Imports System.Data.OleDb
Imports System.Windows.Forms.DataGridView
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim con As New OleDbConnection
Dim a As String
a = TextBox1.Text
'定义一个OLEDB命令并实例化他
Dim cmd As New OleDbCommand
'定义一个OLEDBReader方法来读取数据库
Dim dr As OleDbDataReader
'初始化con的连接属性,使用OLEDB模式,数据源为:你指定下路径 con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\lenovo\Desktop\数据库.mdb"
'打开OLEDB数据连接
con.Open()
'初始化OLEDB命令的连接属性为con,这个需要你理解下
cmd.Connection = con
'初始化OLEDB命令的语句 就是查询 什么字段从什么表 条件是ID等于你在t1中输入的内容
cmd.CommandText = "select 学号 from studentInfo where ID=" & TextBox1.Text & ""
'执行OLEDB命令以ExecuteReader()方式,并返回一个OLEDBReader,赋值给dr
dr = cmd.ExecuteReader()
'判断下dr中是否有数据。如果有就把第一个值赋值给t2的值
If dr.Read() Then
TextBox2.Text = dr(0)
End If
'完成后关闭dr.con等释放资源
dr.Close()
con.Close()
End Sub

End Class

这个实例已经试过,希望对你有用,望采纳

热点内容
微信猜拳算法 发布:2024-10-26 19:23:35 浏览:389
android编译第三方库 发布:2024-10-26 19:14:20 浏览:614
苹果手机怎么用蓝牙传照片给安卓 发布:2024-10-26 18:57:40 浏览:614
ios8程序加密 发布:2024-10-26 18:30:27 浏览:532
密码门锁没电了用什么数据线 发布:2024-10-26 18:21:11 浏览:854
linuxloop 发布:2024-10-26 18:20:46 浏览:931
linuxvg查看 发布:2024-10-26 18:09:51 浏览:585
图标是钥匙的加密软件 发布:2024-10-26 18:07:31 浏览:625
vip七九宝琉璃怎么配置魂环 发布:2024-10-26 17:51:17 浏览:571
opencv编译linux 发布:2024-10-26 17:49:50 浏览:983