今天尝试用ADO编写数据库程序在Stdafx.h中包含如下
信息
#include "icrsint.h"
#import "c:\Program Files\Common
Files\System\ADO\msado15.dll" no_namespace
rename("EOF","EndOfFile")
#include <stdio.h>
#include <adoid.h>
#include <adoint.h> //去掉这行的话,程序就不让那些宏
这义了
#include <iostream>
class CCustomRs:public CADORecordBinding
{
BEGIN_ADO_BINDING(CCustomRs)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(1,adVarChar,m_
szau_lname,
sizeof(m_szau_lname),lau_lnameStatus,FALSE)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(2,adVarChar,m_
szau_fname,
sizeof(m_szau_fname),lau_fnameStatus,FALSE)
ADO_FIXED_LENGTH_BINDING_ENTRY(3,adVarChar,m_sza
u_fname,
sizeof(m_szphone),lphoneStatus,TRUE)
END_ADO_BINDING()
public:
CHAR m_szau_lanme[10];
ULONG lau_lnameStatus;
CHAR m_szau_fname[10];
CHAR lau_fnameStatus;
CHAR m_szphone[10];
ULONG lphoneStatus;
};
void dum_com_error(_com_error& e)
{
printf("Error\n");
printf("\a\tCode=%081x\n",e.Error());
}
出现了62个类似这样的错误:
d:\microsoft visual studio\vc98\include\adoint.h(106) :
error C2371: 'Connection' : redefinition; different basic
types
谁能给我一个ADO最简单的程序,我的书不全,而且是第
一次写[email protected]
信息
#include "icrsint.h"
#import "c:\Program Files\Common
Files\System\ADO\msado15.dll" no_namespace
rename("EOF","EndOfFile")
#include <stdio.h>
#include <adoid.h>
#include <adoint.h> //去掉这行的话,程序就不让那些宏
这义了
#include <iostream>
class CCustomRs:public CADORecordBinding
{
BEGIN_ADO_BINDING(CCustomRs)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(1,adVarChar,m_
szau_lname,
sizeof(m_szau_lname),lau_lnameStatus,FALSE)
ADO_VARIABLE_LENGTH_BINDING_ENTRY(2,adVarChar,m_
szau_fname,
sizeof(m_szau_fname),lau_fnameStatus,FALSE)
ADO_FIXED_LENGTH_BINDING_ENTRY(3,adVarChar,m_sza
u_fname,
sizeof(m_szphone),lphoneStatus,TRUE)
END_ADO_BINDING()
public:
CHAR m_szau_lanme[10];
ULONG lau_lnameStatus;
CHAR m_szau_fname[10];
CHAR lau_fnameStatus;
CHAR m_szphone[10];
ULONG lphoneStatus;
};
void dum_com_error(_com_error& e)
{
printf("Error\n");
printf("\a\tCode=%081x\n",e.Error());
}
出现了62个类似这样的错误:
d:\microsoft visual studio\vc98\include\adoint.h(106) :
error C2371: 'Connection' : redefinition; different basic
types
谁能给我一个ADO最简单的程序,我的书不全,而且是第
一次写[email protected]
将这句放到所有的"#include"之后。
accept.
d:\练兵场\adovc\debug\msado15.tli(1416) : error C2511: 'FieldChangeComplete' : overloaded member function 'long (long,const class _variant_t &,struct Error *,enum EventStatusEnum *,struct _Recordset *)' not found in 'RecordsetEventsVt'
CoInitialize(NULL);
static _ConnectionPtr spCON;
static _variant_t rec_affected; char DBstr[] = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=ATM.mdb;DefaultDir=;";
try{
//CREATEiNSTANCE(spCON,Connection);
spCON.CreateInstance(_uuidof(Connection));
spCON->Open( DBstr, "", "", -1 );
int i=50;
char achSQL[256]= "select * from atm;";
SYSTEMTIME systime, ctime = {0};
ctime.wSecond = 2;
while(1)
{
i++;
GetLocalTime(&systime);
sprintf(achSQL, "insert into atm values (%d,'9988000000010452','%02d%02d%02d','20030428','6091',%d,'00','0','0','');", i, systime.wHour, systime.wMinute, systime.wSecond ,i);
spCON->Execute(achSQL, &rec_affected, -1);
rec_affected.Clear();
systime = GetDelayTime(systime, ctime);
sprintf(achSQL, "select * from atm where t_time < '%02d%02d%02d';", systime.wHour, systime.wMinute, systime.wSecond);
// spCON->Execute(achSQL,NULL,NULL);
sprintf(achSQL, "delete * from atm where t_time < '%02d%02d%02d';", systime.wHour, systime.wMinute, systime.wSecond);
spCON->Execute(achSQL,NULL,NULL);
} spCON->Close();
spCON.Release();
CoUninitialize();
}
catch( _com_error &e)
{
_bstr_t bstrSource(e.Source());
_bstr_t bs = _bstr_t(" Error: ") + _bstr_t(e.Error()) + _bstr_t(" Msg: ")
+ _bstr_t(e.ErrorMessage()) + _bstr_t(" Description: ")
+ _bstr_t(e.Description());
}