2016060101
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016060101相关的知识,希望对你有一定的参考价值。
一、ADO数据模型
1.ADO全称:
ActiveX Data Objects
2.ADO是面向对象的。是对当前微软所支持的数据库进行操作的最有效和最简单直接的方法,它是一种功能强大的数据访问编程模式,是对OLE DB的封装
二、ADO编程步骤:
1.在stdAfx.h文件中,导入使用的dll文件
//初始化
if(!AfxOleInit())
{
AfxMessageBox("OLE初始化错!");
return FALSE;
}
PS:OLE是建立在COM之上的技术,层次比COM要高。AfxOleInit()调用的是OleInitialize(),而OleInitialize()除了调用CoInitializeEx()来初始化COM库外,还进行一些其它的操作,这些操作对OLE应用来说是必须的,这些OLE应用包括:
3.创建一个数据连接
_ConnectionPtr m_pConn;
m_pConn.CreateInstance("ADODB.Connection")
PS:通常使用_ConnectionPtr 来创建一个数据连接或执行一条不返回任何结果的SQL语句
adCmdText : CommandText是文本命令
adCmdTable : CommandText是一个表名
adCmdProc : CommandText是一个存储过程
adCmdUnknown : 未知
users (ID INTEGER, username TEXT, old INTEGER, birthday DATETIME)",
&RecordsAffected , adCmdText);
4.打开数据库连接: Open (connectionstring , userID , password , options)
}
users (ID INTEGER, username TEXT, old INTEGER, birthday DATETIME)",
&RecordsAffected , adCmdText);
三、_CommandPtr接口和_RecordsetPtr(对象记录指针)
1._CommandPtr接口
1.1_CommandPtr接口与_ConnectionPtr的联系
_CommandPtr接口返回一个记录集。
它提供了一种简单的方法来执行返回记录集的存储过程和SQL语句。
在使用_CommandPtr接口时,你可 以利用全局_ConnectionPtr接口,也可以在_CommandPtr接口里直接使用连接串。
如果你只执行一次或几次数据访问操作,前者是比较好 的选择。
但如果你要频繁访问数据库,并要返回很多记录集,那么,你应该使用全局_ConnectionPtr接口创建一个数据连接,然后使用 _CommandPtr接口执行存储过程和SQL语句。
1.2 _CommandPtr的使用步骤:
1.2.1 第一步
_CommandPtr m_pCommand;
m_pCommand.CreateInstance(
"ADODB.Command“
);
1.2.2 第二步
= pConn;
"SELECT * FROM users
_RecordsetPtr m_pRecordset = m_pCommand->Execute(
&vNULL,&vNULL,adCmdText
);
2._RecordsetPtr(对象记录指针)
2.1将执行结果存入记录集指针中
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Command“);
_RecordsetPtr m_pRecordset;
m_pRecordset.CreateInstance("ADODB.Command“);
初始化一个事务;其后必须有CommitTrans和/或RollbackTrans相呼应
提交一个事务,以完成对数据源的永久改变(要求使用之前必须调用了BeginTrans方法)
取消一个事务,恢复对数据源做的临时性改变(要求使用之前必须调用了BeginTrans方法)
for(i =1; i<=5; i++)
{
str.Format(“%d”, i);
m_pRecordset->AddNew();
m_pRecordset->PutCollect(“姓名”, _variant_t(“小明”)));
}