欢迎来到天天文库
浏览记录
ID:9377171
大小:51.00 KB
页数:15页
时间:2018-04-29
《vc访问数据库操作(vc access database operations)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、vc访问数据库操作(VCaccessdatabaseoperations)1)、引入ADO类#进口的“C:程序文件共同文件系统ADOmsado15.DLL”no_namespace重命名(“EOF”、“adoeof”)(2)、初始化COM在MFC中可以用afxoleinit();非MFC环境中用:CoInitialize(空);couninitialize();(3)#进口包含后就可以用3个智能指针了:_connectionptr、_recordsetptr和_commandptr1。连接和关闭数据库(1)连接例子:连接访问数据库afxol
2、einit();//初始化HRESULTHR;尝试{HR=m_pconnection。CreateInstance(“数据连接”);///创建连接对象如果(成功(HR)){m_pconnection->connectiontimeout=0;HR=m_pconnection->打开(“商=微软。飞机。OLEDB数据源。4;=分贝。mdb”,“”,“”,admodeunknown);//m_pconnection->PutDefaultDatabase((_bstr_t)“分贝”);//设置默认数据库m_pcommand。CreateInstance(_
3、_uuidof(命令));m_pcommand->OleDbCommand.CommandTimeout=5;m_pcommand->ActiveConnection=m_pconnection;}}抓住(_com_errorE)///捕捉异常{CString的错误信息;“连接数据库失败格式(错误信息!r错误信息:%s”,即errormessage());AfxMessageBox(错误信息);///显示错误信息}(2)、关闭//如果数据库连接有效如果(m_pconnection->状态)m_pconnection->();m_pconnecti
4、on=null;(3)、设置连接时间/设置连接时间-----------------------------------pconnection->put_connectiontimeout(长(5));2。打开一个结果集(1)打开,首先创建一个_recordsetptr实例,然后调用open()得到一条SQL语句的执行结果_recordsetptrm_precordset;m_precordset。CreateInstance(__uuidof(集));//在ADO操作中建议语句中要常用尝试…catch()来捕获错误信息,//因为它有时会经常出现一些意
5、想不到的错误荆州徐。尝试{m_precordset->打开(“SELECT*FROMdemotable”//查询demotable表中所有字段m_pconnection。getinterfaceptr(),//获取库接库的IDispatch指针adopendynamic,adlockoptimistic,adCmdText);}抓住(_com_error*E){AfxMessageBox(E->errormessage());}(2)关闭结果集m_precordset->();3。操作一个结果集(1)、遍历(读取)一)、用precordset->ado
6、eof来判断数据库指针是否已经移到结果集的末尾了;m_precordset->转炉判断是否在第一条记录前面:虽然(!m_precordset->adoeof){var=m_precordset->getcollect(“名”);如果(var.vt!=vt_null)不同的=(指向一个)_bstr_t(VAR);var=m_precordset->getcollect(“年龄”);如果(var.vt!=vt_null)战略=(指向一个)_bstr_t(VAR);m_accesslist。向此路径添加文本字符串(不同+”-->“+策略);m_precord
7、set->movenext();}b)、取得一个字段的值的办法有两种办法一是0/表示取得第个字段的值m_precordset->getcollect(“名”);或者m_precordset->getcollect(_variant_t(长(0));二是precordset->get_collect(“column_name”);或者precordset->get_collect(长(指数));(2)、添加一)、调用m_precordset->addnew();b)、调用m_precordset->putcollect();给每个字段赋值C)、调用m_p
8、recordset->update();确认(3)、修改(4)、删除一)、把记录指针移动到要删
此文档下载收益归作者所有