龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

VC下ADO开发实践之一(3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
Execute执行完后返回一个指向记录集的指针,下面我们给出具体代码并作说明。 _variant_t RecordsAffected; ///执行SQL命令:CREATE TABLE创建表格users,users包含四个字

Execute执行完后返回一个指向记录集的指针,下面我们给出具体代码并作说明。

_variant_t RecordsAffected;
///执行SQL命令:CREATE TABLE创建表格users,users包含四个字段:整形ID,字符串username,整形old,日期型birthday

m_pConnection->

Execute("CREATE TABLE users(ID INTEGER,username TEXT,old INTEGER,birthday DATETIME)",&RecordsAffected,adCmdText);
///往表格里面添加记录

m_pConnection->

Execute("INSERT INTO users(ID,username,old,birthday) VALUES (1, 'Washington',25,'1970/1/1')",&RecordsAffected,adCmdText);
///将所有记录old字段的值加一

m_pConnection->

Execute("UPDATE users SET old = old+1",&RecordsAffected,adCmdText);
///执行SQL统计命令得到包含记录条数的记录集

m_pRecordset = m_pConnection->

Execute("SELECT COUNT(*) FROM users",&RecordsAffected,adCmdText);
_variant_t vIndex = (long)0;
_variant_t vCount = _pRecordset->

GetCollect(vIndex);

///取得第一个字段的值放入vCount变量

m_pRecordset->Close();
///关闭记录集

CString message;
message.Format("共有%d条记录",vCount.lVal);
AfxMessageBox(message);
///显示当前记录条数

(2)利用Command对象来执行SQL命令

_CommandPtr m_pCommand;
m_pCommand.CreateInstance("ADODB.Command");
_variant_t vNULL;
vNULL.vt = VT_ERROR;
vNULL.scode = DISP_E_PARAMNOTFOUND;
///定义为无参数

m_pCommand->ActiveConnection = m_pConnection;
///非常关键的一句,将建立的连接赋值给它

m_pCommand->CommandText = "SELECT * FROM users";
///命令字串

m_pRecordset = m_pCommand->Execute(&vNULL,&vNULL,adCmdText);
///执行命令,取得记录集

在这段代码中我们只是用Command对象来执行了SELECT查询语句,Command对象在进行存储过程的调用中能真正体现它的作用。下次我们将详细介绍。

精彩图集

赞助商链接