【VC开源代码栏目提醒】:本文主要为网学会员提供ADOWin32ConsolePropertyItem.cpp,希望对需要ADOWin32ConsolePropertyItem.cpp网友有所帮助,学习一下!
// ADOWin32ConsolePropertyItem.cpp : 定义控制台应用程序的入口点。
//集合、GetItem方法和Item属性
#include "stdafx.h"
#import "c:\Program Files\Common Files\System\ADO\msado15.dll" \
no_namespace rename("EOF", "EndOfFile")
#include <stdio.h>
int _tmain(int argc, _TCHAR* argv[])
{
::CoInitialize(NULL);
try
{
_RecordsetPtr rs("ADODB.Recordset");
_variant_t vtFirstName;
rs->Open("authors", "Provider=SQLOLEDB;SERVER=localhost;DATABASE=pubs;User Id=sa;Password=;",\
adOpenStatic, adLockOptimistic, adCmdTable);
rs->MoveFirst();
//当访问collection中的Item时,索引值2必须被转换为long类型以确保正确的构造函数被调用。
// 或者vtFirstName = rs->Fields->Item[(long)2]->Value;
vtFirstName = rs->Fields->GetItem((long)2)->GetValue();
printf( "First name = '%s'\n", (char*) ((_bstr_t) vtFirstName));
rs->Fields->GetItem((long)2)->Value = L"TEST";
rs->Update(vtMissing, vtMissing);
vtFirstName = rs->Fields->GetItem((long)2)->GetValue();
printf( "First name = '%s'\n", (char*) ((_bstr_t) vtFirstName));
// 恢复原名称
// 或者rs->Fields->GetItem((long)2)->Value = vtFirstName;
rs->Fields->GetItem((long)2)->PutValue(vtFirstName);
rs->Update(vtMissing, vtMissing);
rs->Close();
}
catch (_com_error &e)
{
printf("Description = '%s'\n", (char*) e.Description());
}
::CoUninitialize();
getchar();
return 0;
}
上一篇:
ADOWin32ConsoleMemoryPersist.cpp
下一篇:
如何当一个轻松的班主任