VC++中使用ADO方式操作ACCESS数据库
ADO(ActiveX Data
Object)是Microsoft数据库应用程序开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE
DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC API、DAO、RDO都要容易使用,并不失灵活性。
ADO(ActiveX Data Object)是Microsoft数据库应用
程序
开发的新接口,是建立在OLE DB之上的高层数据库访问技术,即使你对OLE
DB,COM不了解也能轻松对付ADO,因为它非常简单易用,甚至比你以往所接触的ODBC
API、DAO、RDO都要容易使用,并不失灵活性。本文详细地介绍在Visual C++开发环境下如何使用ADO来进行数据库应用
程序
开发。
一、实现方法
万事开头难,任何一种新技术对于初学者来说最重要的还是"入门",掌握其要点。让我们来看看ADO数据库开发的
基本流程吧!它的基本步骤如下:
(1)初始化COM库,引入ADO库定义文件
(2)用Connection对象连接数据库
(3)利用建立好的连接,通过Connection、Command对象执行SQL命令,或利用
Recordset对象取得结果记录集进行查询、处理。
(4)使用完毕后关闭连接释放对象。
下面我们将详细介绍上述步骤并给出相关代码。
1、COM库的初始化
我们可以使用AfxOleInit()来初始化COM库,这项工作通常在
CWinApp::InitInstance()的重载函数中完成,请看如下代码:
BOOL CADOTest1App::InitInstance()
{
AfxOleInit();
......
}
2、用#import指令引入ADO类型库
为了引入ADO类型库,需要在项目的stdafx.h文件中加入如下语句:
#import "c:\program files\common
files\system\ado\msado15.dll"
no_namespace rename("EOF","adoEOF")
这一语句有何作用呢?其最终作用同我们已经十分熟悉的#include类似,编译的时候系统会为我们生成
msado15.tlh,ado15.tli两个C++头文件来定义ADO库。
需要读者朋友注意的是:您的开发环境中msado15.dll不一定在这个目录下,请按实际情况修改;在编译的
时候可能会出现如下警告,对此微软在MSDN中作了说明,并建议我们不要理会这个警告:msado15.tlh(405) : warning
C4146: unary minus operator applied to unsigned type, result still
unsigned。
3、创建Connection对象并连接数据库
为了首先我们需要添加一个指向Connection对象的指针_Con
相关文档:
pos25 = find (coll.begin(), coll.end(), //range
25); //value
pos35 = find (coll.begin(), pos25, //range
35); //value
if (pos35 != pos25) {
/*pos35 is in front of pos25
*so, only [pos35,pos25) is valid
*/
...
}
else {
pos35 = find (pos25, coll.end ......
一、获取日历时间
time_t是定义在time.h中的一个类型,表示一个日历时间,也就是从1970年1月1日0时0分0秒到此时的秒数,原型是:
typedef long time_t; /* time value */
可以看出time_t其实是一个长整型,由于长整型能表示的数值有限,因此它能表示的最迟时间是2038年 ......
SqlServer 的性能比 Access 提高的不止一点了。
不过,科汛CMS的免费版带的是 Access 数据库。
有没有办法转成 mssql 的呢?当然可以
1, mssql中新建一张表,然后导入 access 里面的表和数据.
这个网上有方法,不多说了。
2, 修改 conn.asp 到 sql server 版本,这个也简单。
3, 浏览数据,直接就可以看 ......
一、概述
1、C++虽然是从C语言中发展的,但其中有许多要点,是C语言中所没有的,包括引用,内联函数等,在此做一个介绍。
2、对于C/C++中的基础是必须要详细了解的,能够深刻理解其含义以及其来源,是一个人内功深刻的表现。如果一些基础的问题,
都说不上来,又如何给人以信心呢。
二、常见的问题
1、为什么要使 ......
先说python
python的random模块提供了多个伪随机数发生器,默认都是用当前时间戳为随机数种子。
下面是该模块几个最常用的函数
random() Return the next random floating point number in the range [0.0, 1.0).
randint(a,b) Return a random integer N such that a <=
N <= b
randrange([star ......