【VC开源代码栏目提醒】:网学会员VC开源代码为您提供CCommandParameter.cpp参考,解决您在CCommandParameter.cpp学习中工作中的难题,参考学习。
// 这是使用应用程序向导生成的 VC++
// 应用程序项目的主项目文件。
#include "stdafx.h"
#include <atldbcli.h> //用于对ATL OLE DB的支持
//以下几行用于支持ODBC 的Microsoft OLE DB 提供程序,特别是CLSID_MSDASQL符号
#define UNICODE
#define _UNICODE
#define DBINITCONSTANTS
#define INITGUID
#include <msdasql.h>
//以下是.NET控制台应用程序头文件
#using <mscorlib.dll>
using namespace System;
//用户记录类CAuthors
class CAuthors
{
public:
// 数据成员变量
CHAR m_szFirstName[20];
CHAR m_szLastName[40];
CHAR m_szState[2];
// 列绑定映射
BEGIN_COLUMN_MAP(CAuthors)
COLUMN_ENTRY(3, m_szFirstName)//authors表的第三列
COLUMN_ENTRY(2, m_szLastName) //authors表的第二列
//COLUMN_ENTRY(7, m_szState) //authors表的第七列
END_COLUMN_MAP()
// 参数绑定映射
BEGIN_PARAM_MAP(CAuthors)
SET_PARAM_TYPE(DBPARAMIO_INPUT)
//需要注意的是,下面COLUMN_ENTRY宏的第一参数是1,而不是7,指的是
//SQL语句中第几个?(从1开始计数),与表中对应列的无关
COLUMN_ENTRY(1, m_szState)
END_PARAM_MAP()
};
//主程序
int _tmain()
{
HRESULT hr = CoInitialize(NULL);//初始化COM环境
CDataSource connection;
CSession session;
CCommand<CAccessor<CAuthors> > authors;
//打开一个连接、会话和表.可以使用Windows NT集成安全进行用户验证;
//,然而为了方便起见 ,在程序中指定密码
hr = connection.Open(CLSID_MSDASQL, "pubs", "sa", "mother",DBPROP_AUTH_INTEGRATED);
if(FAILED(hr))
{
Console::WriteLine(S"connection.Open is failed");
return 0;
}
session.Open(connection);
if(FAILED(hr))
{
Console::WriteLine(S"session.Open is failed");
return 0;
}
_tcscpy(authors.m_szState, _T("OR"));
authors.Open(session, "select * from authors where state=?");
if(FAILED(hr))
{
Console::WriteLine(S"authors.Open is failed");
return 0;
}
// 从行集中获取数据
while (authors.MoveNext() == S_OK)
{
Console::Write(S"FirstName=");
Console::Write(authors.m_szFirstName);
Console::Write(S" ");
Console::Write(S"LastName=");
Console::Write(authors.m_szLastName);
Console::WriteLine(S"");
}
authors.Close(); //关闭行集
//释放执行的命令,执行该命令不会使CoUninitialize失败
authors.ReleaseCommand();
session.Close(); //关闭会话
connection.Close(); //释放数据源对象
CoUninitialize(); //释放COM环境
return 0;
}
上一篇:
CColorDlgDlg.cpp
下一篇:
法律专业开题报告范文