【VC开源代码栏目提醒】:网学会员--在 VC开源代码编辑为广大网友搜集整理了:CCommandParameterAttribute.cpp绩等信息,祝愿广大网友取得需要的信息,参考学习。
// CCommandParameterAttribute.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#pragma once
[
db_source(L"Provider=SQLOLEDB.1;Password=mother;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=localhost;Use Procedure for Prepare=1;Auto Translate=True;Packet Size=4096;Workstation ID=SINOMENTOR;Use Encryption for Data=False;Tag with column collation when possible=False"), // Provide a connection to the pubs database
db_command(L"SELECT au_lname,au_fname FROM dbo.authors where state = ?")
]
class CAuthors
{
public:
// In order to fix several issues with some providers, the code below may bind
// columns in a different order than reported by the provide
[ db_column(L"au_lname", status=m_dwau_lnameStatus, length=m_dwau_lnameLength) ] TCHAR m_au_lname[41];
[ db_column(L"au_fname", status=m_dwau_fnameStatus, length=m_dwau_fnameLength) ] TCHAR m_au_fname[21];
[ db_param(1,DBPARAMIO_INPUT)] TCHAR m_state[3];
DBSTATUS m_dwau_lnameStatus;
DBSTATUS m_dwau_fnameStatus;
DBLENGTH m_dwau_lnameLength;
DBLENGTH m_dwau_fnameLength;
void GetRowsetProperties(CDBPropSet* pPropSet)
{
pPropSet->AddProperty(DBPROP_CANFETCHBACKWARDS, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_CANSCROLLBACKWARDS, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_IRowsetChange, true, DBPROPOPTIONS_OPTIONAL);
pPropSet->AddProperty(DBPROP_UPDATABILITY, DBPROPVAL_UP_CHANGE | DBPROPVAL_UP_INSERT | DBPROPVAL_UP_DELETE);
}
};
int _tmain(int argc, _TCHAR* argv[])
{
HRESULT hr = CoInitialize(NULL);//初始化COM环境
if(FAILED(hr))
{
printf("Calling CoInitialize is failed\r\n");
return 0;
}
//实例化行集
CAuthors rs;
_tcscpy(rs.m_state, _T("OR"));
hr = rs.OpenAll();
if(FAILED(hr))
{
printf("Calling rs.OpenAll() is failed\r\n");
return 0;
}
hr = rs.MoveFirst();//将行集的光标移到第一行
if(FAILED(hr))
{
printf("Calling rs.MoveFirst() is failed\r\n");
return 0;
}
// 遍历行集
while( SUCCEEDED(hr) && hr != DB_S_ENDOFROWSET )
{
printf("First Name: %s, Last Name: %s\n",rs.m_au_fname, rs.m_au_lname);
hr = rs.MoveNext();
if(FAILED(hr))
{
printf("Calling rs.MoveFirst() is failed\r\n");
return 0;
}
}
rs.CloseAll(); //关闭行集
CoUninitialize();//释放COM环境
return 0;
}
上一篇:
CCommandParameter.cpp
下一篇:
高中政治教学中情境创设的尝试和思考