现在学数据库开发,但是有点问题,在MSDN上查不到_ConnectionPtr这个类型,知道他是_Connection对象的指针,但是这个东西MSDN上也没有,还有那个_Command和_CommandPtr.
还有那个导入语句,为什么也有错误?
本程序只是建立一个对话框,我想在程序功能编写之前封装一个对数据库操作的类(象书上那样)。
注:其他地方没有对向导产生的代码做改动。
// MyAdo.h: interface for the CMyAdo class.
//
//////////////////////////////////////////////////////////////////////#if !defined(AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_)
#define AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000#import \"c:\Program Files\Common Files\System\ado\msado15.dll\"
no_namespace rename(\"EOF\",\"adoEOF\"),rename(\"BOF\",\"adoBOF\")class CMyAdo
{
public:
CMyAdo();
virtual ~CMyAdo();
public:
void OnInitConnect();
void Execute(_bstr_t strSQL);
void ExitConnect();
private:
_ConnectionPtr m_pConnection;
};#endif // !defined(AFX_MYADO_H__6A6254C7_C2FE_4912_9F98_7EF933E96C52__INCLUDED_)
// MyAdo.cpp: implementation of the CMyAdo class.
//
//////////////////////////////////////////////////////////////////////#include \"stdafx.h\"
#include \"SqlTest6.h\"
#include \"MyAdo.h\"#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////CMyAdo::CMyAdo()
{
}CMyAdo::~CMyAdo()
{}
void CMyAdo::OnInitConnect()
{
AfxOleInit(); //初始化COM组件
try
{
this->m_pConnection->CreateInstance(\"ADODB.Connection\");_bstr_t strConnect=\"Provider=SQLOLEDB;Password=236162;
Persist Security Info=True;User ID=wfpb;
Initial Catalog=USERMAN;Data Source=localhost;\";this->m_pConnection->Open(strConnect,\"\",\"\",adModeUnknow);
}catch(_com_error e)
{
MessageBox(e.ErrorMessage());
}
}BOOL CMyAdo::Execute(_bstr_t strSQL)
{
try
{
if(m_pConnection==NULL)
OnInitConnect();m_pConnection->Execute(strSQL,NULL,adCmdText);
return TRUE;
}catch(_com_error e)
{
MessageBox(e.Description());
return FALSE;
}
}
void CMyAdo::ExitConnect()
{
m_pConnection.Close();
MessageBox(\"已连接断开\");
}
问题如下:
--------------------Configuration: SqlTest6 - Win32 Debug--------------------
Compiling...
MyAdo.cpp
e:\visual c++ project\sqltest6\debug\msado15.tlh(409) : warning C4146: unary minus operator applied to unsigned type, result still unsigned
e:\visual c++ project\sqltest6\debug\msado15.tlh(1318) : error C2629: unexpected 'short ('
e:\visual c++ project\sqltest6\debug\msado15.tlh(1318) : error C2238: unexpected token(s) preceding ';'
e:\visual c++ project\sqltest6\myado.h(13) : error C2146: syntax error : missing ';' before identifier 'rename'
e:\visual c++ project\sqltest6\myado.h(13) : error C2501: 'no_namespace' : missing storage-class or type specifiers
e:\visual c++ project\sqltest6\myado.h(13) : fatal error C1004: unexpected end of file found
Error executing cl.exe.SqlTest6.exe - 5 error(s), 1 warning(s)