这是我上学期做数据库课程设计时参考一文章。
如果要把信息以表格形式表示,建议看看CRecordView类的使用
----------------------------------------
你是说注册数据库源吗? 有个函数可以实现自动注册数据库源 在我空间里有我当时写的一篇文章,你可以去看看
----------------------------------------
至于你说的,你用的是sql数据库根本都没关系的
我给你的那篇文章,里面讲的是用基本的sql语句访问数据库,无论什么系统都行,当时我课程设计用的也是sql2000,但是还是从里面照搬了许多代码
建议使用ado来连接,使用odbc比较繁琐的,如下是我精心总结的使用ado连接数据库方法*******************************************
**********首先是连接Access数据库***********
*******************************************
@@@@@@@以下在VC6.0环境中都能实现@@@@@@@@@@@
================ADO方法:==================
|||||针对Access2003:---->参照实例Ado6666.zip文件
//首先要在文件的头部引入一个动态链接库:
#import "c:\program files\common files\system\ado\msado15.dll" \
no_namespace \
rename ("EOF", "adoEOF") \
rename ("BOF","adoBOF")
//连接指针,实例方法一
_ConnectionPtr pConn(__uuidof(Connection))
//连接指针,实例方法二
_ConnectionPtr pConnpConn.CreateInstance(__uuidof(Connection))
//对于ADO的连接,要指定一个Provider和一个数据源
//ADO连接Access的Provider是Microsoft.Jet.OLEDB.4.0而数据源就是一个Access文件
Provider= Microsoft.Jet.OLEDB.4.0
Data Source = ×××.mdb
//调用Open函数打开连接
//Open的第一个参数是连接字符串(ConnectionString),即由Provider和Data Source组成的一个字符串
//第二个和第三个参数是数据源的用户名和密码,如果没有给它们指定,则为空字符串
pConn->Open("","","",adConnectUnspecified)
//打开记录集两种方式
//方式一: 该方式打开一个SQL语句执行的内容,且能够对记录集进行查询、修改、添加和删除
pRset->Open("SELECT * FROM 学生",(_variant_t)((IDispatch*)pConn),adOpenDynamic,adLockOptimistic,adCmdText)
//方式二: 该方式打开一个SQL语句执行的内容,与“方式一”所不同的是,我们只能对其查询
pRset = pConn->Execute("SELECT * FROM 学生",NULL,adCmdText)
//另加说明:还有其他打开方式,如利用_CommandPtr指针对象,也是可以有同样的 *** 作的
//记录集和数据库的练级的关闭
pRset->Close() //关闭
pRset.Release() //释放
pRset = NULL //设其值为NULL,防止到处乱指
pConn->Close() //关闭
pConn.Release() //释放
pConn = NULL //设其值为NULL,防止到处乱指
-------------------------------------------------------------------------------------------
|||||针对Access2007:---->参照实例Ado7777.zip文件
我们知道Access2007文件的后缀名是.accdb,经过测试我们知道,使用Microsoft.Jet.OLEDB.4.0 Provider
已经不能打开数据库,微软给我们提供了一个支持Access2007数据库连接的Provider:Microsoft.ACE.OLEDB.12.0
只是这样还不够,还需要一个数据引擎,我从网上下了一个:AccessDatabaseEngine.exe,安装之后就可以用了。
其他 *** 作和连接Access2003大同小异,没有什么区别。
-------------------------------------------------------------------------------------------
|||||针对SQL Server2005:---->参照实例DBLinkToSS2005.zip文件
对于ADO技术的使用,只要做好连接字符串,其他 *** 作基本相同
对于连接SQL Server2005,主要还是ConnectionString的问题,它的ConnectionString是:
Provider=MSDASQL.1Password=lanchePersist Security Info=TrueUser ID=saData Source=mysqlserver2005dsInitial Catalog=master
这段代码比较长,不容易记住,但是没有必要,有一种简便的方法,可以准确无误地做好连接字符串的准备
方法如下:
1,向对话框中添加两个ActiveX控件:Microsoft ADO Data Control 6.0(SP6)和Microsoft DataGrid Control 6.0(SP6)
要注意的是,在"Insert Active Control"对话框中还有一个与Microsoft DataGrid Control 6.0类似的控件:DBGrid Control,
千万别加错了!
2,打开Microsoft ADO Data Control 6.0(SP6)控件的属性对话框,在标签控件中选择Control标签,点击"Build",将会d出一个数据
连接属性对话框,这里有很多种连接,当然我不可能把所有的情况都说一遍,现在我只说说现在我的做法:
【提供程序】选择Microsoft OLEDB DB Provider for ODBC Drivers【连接】选择一个数据源,如我利用
SQL Server Native Client 10.0驱动程序建立了一个名为"mysqlserver2005ds"数据源
3,如果测试连接成功后,即可以得到一个ConnectionString了
-------------------------------------------------------------------------------------------
|||||针对Oracle 11g:---->参照实例DBLinkToSS2005.zip文件
连接Oracle11g的方法和连接SQL Server2005的方法是一样的,在这里我只给出我做的实例的ConnectionString
Provider=MSDASQL.1Password=lanchePersist Security Info=TrueUser ID=systemData Source=Oracle ODBC for Visual C++
###########################################################################################
备注:
1,其他数据库连接,比如到SQL Server2008(SQL Server2000不必说,因为它已经退出历史舞台),还有Oracle10g,它应该和Oracle11g的连接
方法一样,没什么变化。还有一类数据库,我不想讨论,比如MySQL,DB2等。
2,还有三种连接数据库技术:ODBC,OLE,DAO,这三种方法比较古老,ODBC只是在数据源方面还很有用,至于用它来做数据库开发,是不适宜的;
DAO是建立在OLE之上的一种技术,如今出现了ADO技术,虽说DAO技术在某些方面还是有一些优势,但还是被ADO给淘汰了,据我所知,DAO
已经被淘汰了,目前ADO是使用最广泛也是最便利的技术,所以综合这四种技术,在数据库开发中推荐使用ADO.故不再讨论其他连接技术了。
…………………………………………Summed on by Chengming………………………………………………
……………………………If you have any question,please contact me…………………………………
…………………My QQ number is 1204833748 and my e-mail is Tacky_Man@126.com…………………
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)