VCADO连接ACCESS详解.doc

上传人:jian****018 文档编号:9199946 上传时间:2020-04-03 格式:DOC 页数:6 大小:136.50KB
返回 下载 相关 举报
VCADO连接ACCESS详解.doc_第1页
第1页 / 共6页
VCADO连接ACCESS详解.doc_第2页
第2页 / 共6页
VCADO连接ACCESS详解.doc_第3页
第3页 / 共6页
点击查看更多>>
资源描述
VC+ADO连接ACCESS详解幻想 发表于 2007-9-2 22:15:00数据库下载第一、配置数据源控制面板 - 管理工具 -数据源(ODBC)为什么要设置数据源?设置数据源的目的是为了我们的程序可以很好的访问数据库资源。第二、代码及解析:(建议运行一下,这个代码)i nclude #import c:program filescommon filessystemadomsado15.dll no_namespace rename (EOF, adoEOF)/ADO连接数据库所需的dll,编译的时候系统会为我们生成msado15.tlh,ado15.tli两个C+头文件来定义ADO库/注意这里的import一定要放在一行int main() /该程序使用ADO连接ACCESS(装office的时候里面有)数据库 后缀为.mdb 运行平台vc6.0/2003平台在写着 /-/ADO数据库连接分五步走,/第一、获取连接(只到数据库在什么地方)/第二、打开连接 open(必要的用户名和密码)/第三、获取字符集 ResultSet(类似数组的数据存储对象),/第四、显示数据/第五、关闭数据集、关闭连接/创建个连接对象_ConnectionPtr m_pConnection;/对连接进行初始化CoInitialize(NULL);/- /第一步、获取连接/-/同过连接(Connection)创建并获取一个数据库连接实例,/也可以把他看成句柄(电影门票)有里他就有资格使用数据库里的资源了 呵呵 m_pConnection.CreateInstance(_uuidof(Connection); / 又于在数据库连接的时候有有可能会出现错误,比如数据源设置或用户名 密码错误等/所以使用try.catch().捕获try里的异常(错误)/并把这些异常放到_com_error e 这个变量里,我们可以同过他获取错误的信息/并且,在出错的时候程序一定回运行catch().里的东西,我们看到如果连接错误的时候/会执行cout数据库连接失败,确认数据库mydb.mdb是否在当前路径下!Open(Provider=Microsoft.Jet.OLEDB.4.0;Data Source=mydb.mdb,adModeUnknown); catch(_com_error e)/捕捉异常 cout数据库连接失败,确认数据库mydb.mdb是否在当前路径下!Open(SELECT * FROM test,/是数据查询字符串(即所谓的SQL语句) /通常这些语句分为 数据的查询(select),插入(insert)/更新(update),删除(delect) /是否能执行这个命令是由前面(1)确定的 m_pConnection.GetInterfacePtr(),/ 获取库接库的IDispatch指针adOpenDynamic, /动态光标。所有数据库的操作都会立即在各用户记录集上反应出来adLockOptimistic, /乐观锁定方式。只有在你调用Update方法时才锁定记录。在此之 /前仍然可以做数据的更新、插入、删除等动作 adCmdText);/查询出来的数据是显示在控制台里的 catch(_com_error *e) coutErrorMessage()BOF)/数据表里是是有数据 m_pRecordset-MoveFirst();/将游标(数据集在数据库的叫法)移动到一第一条记录 else cout表内数据为空adoEOF)/和前面的rename (EOF, adoEOF) 想对应 这里使用的是 /adoEOF代替EOF (当然这里如果前面没有rename也可以使用EOF)/判断游标是不是到达最后一条数据 var = m_pRecordset-GetCollect(ID);/这是获取表中字段的一种方法“ID”为表字段名 if(var.vt != VT_NULL) /判断记录在该有没数据 ID= _com_util:ConvertBSTRToString(_bstr_t)var);/由于得到的数据可能不是字符传 这里要转换 /将他们转成字符串,从而可以在屏幕上显示var = m_pRecordset-GetCollect(name); if(var.vt != VT_NULL) name=_com_util:ConvertBSTRToString(_bstr_t)var); coutID is nameMoveNext();/游标向走向下条记录 catch(_com_error *e)/捕获异常 coutErrorMessage()Close(); m_pRecordset = NULL;/- /关闭数据库连接 /- if(m_pConnection-State) m_pConnection-Close(); m_pConnection= NULL;/这两步是一定要做的,否则时间长内存可能会被用尽 return 0;
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑环境 > 建筑资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!