|
楼主 |
发表于 2008-6-23 14:30
|
显示全部楼层
改成这样还是异常
#import "c:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") rename("BOF","adoBOF")
#include"stdio.h"
#include"string.h"
_RecordsetPtr m_pRecordset;
_ConnectionPtr m_pConnection;
void Connect(){
try{
CoInitialize(NULL);
m_pRecordset.CreateInstance(_uuidof(Recordset));
m_pConnection.CreateInstance("ADODB.Connection");
m_pConnection->Open("Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=library;Data Source=(local)","","",adModeUnknown);
if(m_pConnection->State==adStateOpen){printf("Connect OK!\n"); return;}
else {printf("Fail to connect the database!\n");return;}
}//try
catch(_com_error e){
printf("Have execptions!\n");
}//catch
}//Connect()
void Disconnect(){
m_pConnection->Close();
if(m_pConnection->State==adStateClosed)
printf("Disconnect OK!\n");
else
printf("Fail to disconnect!\n");
}//Disconnect()
int main(){
Connect();
_bstr_t vSQL;
vSQL="SELECT * FROM CLERK";
m_pRecordset->Open(vSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
for(m_pRecordset->MoveFirst();!m_pRecordset->adoEOF;m_pRecordset->MoveNext()){
char ID[20];
char Name[20];
strcpy(ID,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("CLERK_ID"));
strcpy(Name,(LPCTSTR)(_bstr_t)m_pRecordset->GetCollect("NAME"));
printf("ID:%s NAME:%s\n",ID,Name);
}//for()
while(getchar()=='\n');
Disconnect();
while(getchar()=='\n');
}//main() |
|