//以下程序在SQLSERVER上运行成功,现在若想将数据库改为ORACLE,不知哪些地方要作修改,该如何改动?_bstr_t strConnect="Driver={sql server};server=qiany;uid=;pwd=;database=pubs"; 
这句应该改的吧,该如何写呢?
另外,在读取数据和添加记录两个功能上,表达方式会不会有些改变?
谢谢!
#include <iostream.h>
#include <stdio.h>
#include <ICRSINT.H>
#include <string.h>
#import "D:\VC\c_ado\Debug\MSADO15.DLL"  no_namespace rename("EOF", "adoEOF")
void main()
{
CoInitialize(NULL);
//AfxOleInit();
_ConnectionPtr pMyConnect=NULL;
HRESULT hr=pMyConnect.CreateInstance(__uuidof(Connection));
if(FAILED(hr))
{
cout<<"error 1!"<<endl;
return;
}
_bstr_t strConnect="Driver={sql server};server=qiany;uid=;pwd=;database=pubs"; 
//connecting to the database server now:
try{pMyConnect->Open(strConnect,"","",NULL);}
catch (_com_error &e)
{
cout<<"error 2!"<<endl;
//::MessageBox(NULL,e.Description(),"警告",MB_OK │ MB_ICONWARNING);
} _RecordsetPtr m_pRecordset;
if(FAILED(m_pRecordset.CreateInstance( __uuidof( Recordset ))))
{
cout<<"error 3!"<<endl;
//m_pDoc->m_initialized=FALSE;
return;
} try{
m_pRecordset->Open(_variant_t("authors"),
_variant_t((IDispatch *)pMyConnect,true), adOpenKeyset,
adLockOptimistic, adCmdTable);
}
catch (_com_error &e)
{
cout<<"error 4!"<<endl;
}
//读取记录
try
{
m_pRecordset->MoveFirst(); 
while(m_pRecordset->adoEOF==VARIANT_FALSE) 
{
//Retrieve column's value: 
char *sName=(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("au_lname"))->Value);
//short cId=(short)(m_pRecordset->Fields->GetItem(_variant_t("au_id"))->Value);
cout<<(char*)(_bstr_t)(m_pRecordset->Fields->GetItem(_variant_t("au_lname"))->Value)<<endl;
//cout<<sName<<endl;
m_pRecordset->MoveNext(); 
}
}
catch (_com_error &e)
{
cout<<"error 5!"<<endl;
}
//添加记录
try
{
if(!m_pRecordset->Supports(adAddNew)) 
{
cout<<"error 6!"<<endl;
return;
} m_pRecordset->AddNew(); 
m_pRecordset->Fields->GetItem(_variant_t("au_id"))->Value=_bstr_t("998-72-8882");
m_pRecordset->Fields->GetItem(_variant_t("au_lname"))->Value=_bstr_t("赵薇2");
m_pRecordset->Fields->GetItem(_variant_t("au_fname"))->Value=_bstr_t("赵薇2");
m_pRecordset->Fields->GetItem(_variant_t("phone"))->Value=_bstr_t("赵薇2"); m_pRecordset->Update(); 
}//try
catch (_com_error &e)
{
cout<<"error 7!"<<endl;
}}