你好,请问一下,VB中用了很多adodc控件下载,adodc 1. adodc2,adodc3,...,但是有时

vb中的ADODC控件1_中华文本库
第1页/共2页
(ActiveX Data Objects,ActiveX 数据对象)是Microsoft 提出的应用程序接口(API )用以实现访问关系或非关系数据库中的数据。例如,如果您希望编写应用程序从DB2或Oracle 数据库中向网页提供数据,可以将ADO 程序包括在作为活动服务器页(ASP )的HTML 文件中。当用户从网站请求网页时,返回的网页也包括了数据中的相应数据,这些是由于使用了ADO 代码的结果。
象Microsoft 的其它系统接口一样,ADO 是面向对象的。它是Microsoft 全局数据访问(UDA )的一部分,Microsoft 认为与其自己创建一个数据,不如利用UDA 访问已有的数据库。为达到这一目的,Microsoft 和其它数据库公司在它们的数据库和Microsoft 的OLE 数据库之间提供了一个“桥”程序,OLE 数据库已经在使用ADO 技术。ADO 的一个特征(称为远程数据服务)支持网页中的数据相关的ActiveX 控件和有效的客户端缓冲。作为ActiveX 的一部分,ADO 也是Microsoft 的组件对象模式(COM )的一部分,它的面向组件的框架用以将程序组装在一起。
ADO 从原来的Microsoft 数据接口远程数据对象(RDO )而来。RDO 与ODBC 一起工作访问关系数据库,但不能访问如ISAM 和VSAM 的非关系数据库。
ADO 是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,从而使得大部分数据源可编程的属性得以直接扩展到你的Active Server 页面上。可以使用ADO 去编写紧凑简明的脚本以便连接到 Open Database Connectivity (ODBC) 兼容的数据库和 OLE DB 兼容的数据源,这样 ASP 程序员就可以访问任何与 ODBC 兼容的数据库,包括 MS SQL SERVER、Access 、 Oracle 等等。
比如,如果网站开发人员需要让用户通过访问网页来获得存在于IBM DB 2或者Oracle 数据库中的数据,那么就可以在ASP 页面中包含ADO 程序,用来连接数据库。于是,当用户在网站上浏览网页时,返回的网页将会包含从数据库中获取的数据。而这些数据都是由ADO 代码做到的。
ADO 是一种面向对象的编程接口,微软介绍说,与其同IBM 和Oracle 提倡的那样,创建一个统一数据库,不如提供一个能够访问不同数据库的统一接口,这样会更加实用一些。为实现这一目标,微软在数据库和微软的OLE DB中提供了一种“桥”程序,这种程序能够提供对数据库的连接。
开发人员在使用ADO 时,其实就是在使用OLE DB,不过OLE DB更加接近底层。ADO 的一项属性?? 远程数据服务,支持“数据仓库”ActiveX 组件以及高效的客户端缓存。作为ActiveX 的一部分,ADO 也是COM 组件的一部分。ADO 是由早期的微软数据接口?? 远程数据对象RDO 演化而来的。RDO 同微软的ODBC 一同连接关系数据库,不过不能连接非关系数据库。
ADO 向我们提供了一个熟悉的,高层的对OLE DB的Automation 封装接口。对那些熟悉RDO 的程序员来说,你可以把OLE DB比作是ODBC 驱动程序。如同RDO 对象
第1页/共2页
寻找更多 ""查看: 2876|回复: 6
[求助]Set Adodc2.Recordset = Nothing 出错!
阅读权限20
在线时间 小时
ado控件释放资源是出错!!!!!
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
Adodc1.Recordset.Close
Adodc2.Recordset.Close
Adodc3.Recordset.Close
Set Adodc1.Recordset = Nothing
Set Adodc2.Recordset = Nothing
Set Adodc3.Recordset = Nothing
ado控件载入窗口时是这么连接的,如果不释放内容(就是上面的代码),调试时就没有问题,就是不能释放内存,每打开关闭一次就增加4m的内存(数据量比较大),如果使用上面的代码释放内存,能释放内存,就是出现错误:
"未发现数据源名称,并且未指定默认的驱动程序"
DataGrid1.ClearFields
Adodc1.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\data" & ";Mode=RPersist Security Info=False"
Adodc1.RecordSource = "SELECT 定额库.ID as 定额编号, 定额库.RationID as 定额识别码, 定额库.Name as 定额名称, 定额库.BF as 基数, 定额库.Unit as 单位, round(((定额库.Price-23*0.92)/0.81), 2) as 单价, 定额库.FeeR as 人工单价, 定额库.FeeC as 材料单价, 定额库.FeeJ as 机械单价, 定额库.附加ID1 as 附加定额项1, 定额库.附加ID2 as 附加定额项2, 定额库.附加ID3 as 附加定额项3, 定额库.附加ID4 as 附加定额项4 FROM 定额库 order by id"
Adodc1.Refresh
Set DataGrid1.DataSource = Adodc1
DataGrid3.ClearFields
Adodc3.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\data" & ";Mode=RPersist Security Info=False"
Adodc3.RecordSource = "select * from 标准材料库 order by 材料名称, 材料名称"
Adodc3.Refresh
Set DataGrid3.DataSource = Adodc3
DataGrid2.ClearFields
Adodc2.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & ThisWorkbook.Path & "\data" & ";Mode=RPersist Security Info=False"
Adodc2.RecordSource = "select * from 临时表2 order by 材料名称"
Adodc2.Refresh
Set DataGrid2.DataSource = Adodc2
阅读权限95
在线时间 小时
建议放弃ADODC控件,直接用ADO+SQL+DATAGRID 解决
阅读权限20
在线时间 小时
ADODC控件本身在VB里面都容易出现没名的错误,在VBA中更是如此,因为VBA中没有VB环境OLB的支持,连实现app.path都要绕个弯子,所以,在操作中容易出现丢失路径的情况。解决的方式有两种,一是采用其它数据访问方式,还有一直就是不要在最后来关闭和释放,每次操作完数据立刻关闭释放,这样的代价就是增加硬盘读写次数,减慢程序运行速度。
阅读权限20
在线时间 小时
我需要用到datagrid控件
Set DataGrid2.DataSource = 记录集
(不是datagrid控件的记录集) 如:
Dim gRS As New ADODB.Recordset
sql="select * form 定额库 where id like '5-%'"
gRs.Open SQL, gCn, adOpenKeyset, adLockOptimistic, adCmdText
set DataGrid1.DataSource=gRs
这样会出错,我解决不了
阅读权限95
在线时间 小时
Dim gRS As New ADODB.Recordset
sql="select * form 定额库 where id like '5-%'"
Set gRS = Nothing
.CursorLocation = adUseClient
.CursorType = adOpenKeyset
.LockType = adLockOptimistic
.Open SQL, gCn, , , adCmdUnknown
set DataGrid1.DataSource=gRs
[此贴子已经被作者于 23:45:36编辑过]
阅读权限20
在线时间 小时
回去修改程序看看能不能行!!
阅读权限20
在线时间 小时
如果想要把数据库里的一列数据绑定到下拉框(或组合框)在怎么写,有附件请发个给我&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& 在这里先谢谢了.请与我回信
最新热点 /1
ExcelHome每周都有线上直播公开课,
国内一流讲师真身分享,高手贴身答疑,
赶不上直播还能看录像,
关键居然是免费的!
厚木哥们都已经这么努力了,
你还好意思说学不好Office。
玩命加载中,请稍候
玩命加载中,请稍候
Powered by
本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任! & & 本站特聘法律顾问:徐怀玉律师 李志群律师安全检查中...
请打开浏览器的javascript,然后刷新浏览器
< 浏览器安全检查中...
还剩 5 秒&VB关于ADODC控件使用,用登陆器代码为例进行说明!_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
VB关于ADODC控件使用,用登陆器代码为例进行说明!
&&VB 中ADO控件使用
阅读已结束,下载文档到电脑
想免费下载本文?
定制HR最喜欢的简历
你可能喜欢请教VB高手:关于用VB编写查询SQL数据库的几个问题
给TA发消息
加TA为好友 发表于: 16:51:00 楼主
我想做一个查询功能的VB程序,功能是:分别按日期和按流量来查询SQL数据库中的数据,并且把结果显示出来,而且这个查询是按指定范围的查询,比如:VB程序运行后,分别在2个文本框中输入一个流量的范围(10—20),然后点查询,就可以在DataGrid控件中把查询的结果显示出来。
请问我该怎么编写这样的程序??
现在我用了Adodc和DataGrid2个控件来做了一个界面,查询的简短程序如下:
a=Text1.Text
(比如:用于输入10)
b=Text2.Text
(比如:用于输入20)
c="流量&=a and 流量&=b"
Adodc1.Recordset.Filter=a
(编译后显示出错的语句)
DataGrid1.Caption="查询结果”
可编译后,系统提示错误,可如果把上边式1中的a和b换分别换成10和20,就可以成功运行,但这样就达不到动态查询的目的了,请问这是为什么?如果我想修改,该怎么办??希望VB高手们指点小弟!!谢谢了
给TA发消息
加TA为好友 发表于: 13:32:00 1楼
有没搞错这种问题放在VB的SQL论坛
"流量&=a and 流量&=b"   
"流量&=[" & a
&"]流量&=["
把[]换为: 单引号
这里不能贴 有 单引号的东东
给TA发消息
加TA为好友 发表于: 16:29:00 2楼
这个同组态王中查询条件的使用方法是一致的。
给TA发消息
加TA为好友 发表于: 20:03:00 3楼
十分万分十万分的感谢,我已经按照你的方法改好语句了,进行编译后成功运行,效果不错*^_^*呵呵,真是一语惊醒梦中人,高手,高手中的高手啊!在此谢谢deng_lp兄台的帮忙,祝事业有成,工作顺利
注:以后VB的问题小弟还来找你哦(我刚学VB1个星期~~~~~~~~)
给TA发消息
加TA为好友 发表于: 21:55:00 4楼
不知者不怪么,大家不都是从菜鸟开始的吗??我刚学一个星期,是很菜,有些东西书上介绍的不是很详细,我很缺乏实战经验呀,请这位说我是菜鸟的仁兄介绍一本你认为很好很详尽的VB书给我,我发现学习VB还是很有乐趣的,比C强:(
给TA发消息
加TA为好友 发表于: 16:17:00 5楼
你好,我也很想要一本很好用的VB书,能帮我推荐一本吗?本人将不胜感激。我的地址 :江苏沛县大屯煤电公司大屯选煤厂机电车间 胡勇
给TA发消息
加TA为好友 发表于: 16:51:00 6楼
现在我用了Adodc和DataGrid2个控件来做了一个界面,查询的简短程序如下:
  a=Text1.Text (比如:用于输入10)
  b=Text2.Text (比如:用于输入20)
  c="流量&=a and 流量&=b" (式1)
  Adodc1.Recordset.Filter=a (编译后显示出错的语句)
  DataGrid1.Caption="查询结果”
  可编译后,系统提示错误,可如果把上边式1中的a和b换分别换成10和20,就可以成功运行,但这样就达不到动态查询的目的了,请问这是为什么?
我觉得你可以把a=Text1.Text
  b=Text2.Text
a=int(trim(Text1.Text
  b=int(trim(Text2.Text ))
把TEXT1.TEXT、TEXT2.TEXT的值转换为整型值,在VB中INT不知道是否是把字符串转为整数的函数
周点击排行周回复排行
[0] [0]最新求助
[0] [4] [0] [1] [0] [2] [7] [6] [4] [11]}

我要回帖

更多关于 adodc1.refresh 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信