| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4557 人关注过本帖, 1 人收藏
标题:不用ADODC控件如何与数据库连接,并将数据显示在datagrid控件上,还能导出成 ...
只看楼主 加入收藏
yujianding
Rank: 2
等 级:论坛游民
帖 子:26
专家分:19
注 册:2016-9-30
结帖率:75%
收藏(1)
已结贴  问题点数:20 回复次数:6 
不用ADODC控件如何与数据库连接,并将数据显示在datagrid控件上,还能导出成excel文档,大致思路是怎么样的?
如题所言,我做一个窗口,不想用ADODC控件连接,因为数据库的位置不是稳定的,所以想用相对路径,但是在datagrid显示数据上,稍微有点麻烦,还有导出excel这个地方有点不大明白,有高手能指点下迷津吗?
搜索更多相关主题的帖子: 如何 excel 数据库连接 
2016-10-12 09:40
xzlxzlxzl
Rank: 15Rank: 15Rank: 15Rank: 15Rank: 15
来 自:湖北
等 级:贵宾
威 望:125
帖 子:1091
专家分:5825
注 册:2014-5-3
收藏
得分:4 
点击“工程-引用”,在引用窗口里勾选“Microsoft Activex Data Objects Recordset 2.8 Library”,如果还要使用Excel,还要勾选“Microsof Excel 14.0 Object Library”,如果找不到就找相近的亦可。
2016-10-12 10:01
pengzhanggui
Rank: 5Rank: 5
等 级:职业侠客
威 望:8
帖 子:161
专家分:344
注 册:2015-7-20
收藏
得分:4 
'连接数据库
Set adoCn = New ADODB.Connection
adoCn.Errors.Clear
sConnect = "Provider=MSDAORA.1;server=AAA;Password=BBB;User ID=CCC;Data Source=DDD;Persist Security Info=True"
adoCn.ConnectionString = sConnect
adoCn.Open , , , adConnectUnspecified

'获取数据
strSQL="SELECT...."
Dim adoRs As ADODB.Recordset
Set adoRs = adoCn.Execute(strSQL)

来找我试试看
2016-10-12 10:11
xiangyue0510
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:86
帖 子:941
专家分:5244
注 册:2015-8-10
收藏
得分:4 
ADODC控件说白了就是ADODC对象的实体化的东西。
只要添加了ado引用(参见2楼)之后。你完全可以自己根据需要来声明相应的对象。ADODB.Connection、ADODB.recordset等等。其实差不多的,各有优缺点吧
ADODC控件的方法,省去了一些代码,但是一个控件在使用中始终是唯一的。也就是你有几个连接或者检索,就需要几个控件。
直接声明对象的方式,代码会多一点,但是灵活,随时根据情况声明调用,然后释放掉。 个人偏向于这个,毕竟代码类似,略微修改就可以了

至于导出Excel,笨方式建立相应的excel application,是逐行逐字段读取在填如,
另外一个就是ADODB.Connection连接,不过是Excel的。 相当于从复制表。如果Excel中的数据是跟数据库表的框架一样存放,这个方法简单。如果是这里一个数据,那里又放一个数据的话,只能用前面的那个方法。。

[此贴子已经被作者于2016-10-12 11:38编辑过]

2016-10-12 11:34
初始元灵
Rank: 2
等 级:论坛游民
帖 子:72
专家分:46
注 册:2016-10-10
收藏
得分:4 
DAO或者ADO都可以,对应显示数据的表格控件不同。

三清之始
2016-10-12 14:03
初始元灵
Rank: 2
等 级:论坛游民
帖 子:72
专家分:46
注 册:2016-10-10
收藏
得分:0 
DAO或者ADO都可以,对应显示数据的表格控件不同。
我一般用ADO代码也很简单
连接Access数据库就是:Dim cn as ADODB.connection  'cn可以改名字,自己随便写,不冲突就行。
                      Dim rs as ADODB.Recordset   'rs同cn
                      Set cn = New Adodb.connection
                      Set rs = New Adodb.Recordset
                      cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\???.mdb;Persist Security Info=False"
                      rs.Open "select * From 记录集的名字 order by 一般是主键", cnNet, adOpenKeyset, adLockOptimistic  '属性根据自己需要配置。
这就连上了。

三清之始
2016-10-12 14:09
ZHRXJR
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:125
帖 子:1034
专家分:5519
注 册:2016-5-10
收藏
得分:4 
如图:
图片附件: 游客没有浏览图片的权限,请 登录注册
,将这二个引用勾选,就添加了ADO对象,在程序中就可以使用ADO对象了。
在程序的通用部分定义二个ADO对象:“Dim cn As New ADODB.Connection, RS As New ADODB.Recordset”    cn是数据库连接对象,RS是记录集对象,通俗一点讲,cn是连接数据库的,RS是连接数据表的,可以操作数据表中的记录。例如:
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\aaa.mdb;Persist Security Info=False"   'aaa.mdb 是数据库名称,修改为你的数据库名称
RS.Open "Select * From 会员登录表 Where YHM='" & Text1.Text & "'", cn, 2, 3   '会员登录表 是连接的数据表,修改为你的数据表;YHM 是数据表的登录用户名字段名称,修改为你的数据表中的字段名称即可

在连接了数据库,并且成功连接了数据表取得了数据表的记录,你就可以随心所欲的操作数据表了。
ADO对象对数据库的操作非常灵活,比ADO控件灵活的多,但是相对来说,代码比较多一点,优点是可以按照你的意图完成操作。
另外,多说一句,ADO有一个对象 Tstr As New ADODB.Stream,这个Tstr(名称自己定义)对象可以操作二进制数据,例如将图片、Doc文件以二进制数据存储在数据表中,在需要时可以读取图片、Doc文件。
对于操作Excel,ADO也可以操作,如同操作数据库一样,可以不需要引用Excel,但前提是Excel表格是比较正规的表格,对于Excel的导入、导出也没有问题。

请不要选我!!!
2016-10-13 19:02
快速回复:不用ADODC控件如何与数据库连接,并将数据显示在datagrid控件上,还能 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.029417 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved