首先利用oracle10g创建一个数据库,在vc中建立一个对话框的工程s_m,在左侧工作空间的ClassView中,点击s_m classes,右键,选择New Class,创建一个操作数据库的类link,里面包含数据库的连接,以及相关操作。在Class Type中选择Generic Class,在工作空间的FileView中找到link.h ,将其改成如下:
class link
{
public:
link();
virtual ~link();
_ConnectionPtr m_pConnection;
_RecordsetPtr m_pRecordset;
bool ExecuteSQL(_bstr_t bstrSQL);
void OnInitADOConn();
_RecordsetPtr& GetRecordSet(_bstr_t bstrSQL);
};
在link.cpp中实现函数如下:
link::link()
{
}
link::~link()
{
}
void link::OnInitADOConn()
{
::CoInitialize(NULL);
try
{
m_pConnection.CreateInstance("ADODB.Connection");
char strConnect[]="Provider=MSDAORA.1;DataSource=yanghaha;Password=haohaizi;User ID=system;Persist Security Info=True";
m_pConnection->Open(strConnect,"","",adModeUnknown);
AfxMessageBox("连接成功");
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
}
}
bool link::ExecuteSQL(_bstr_t bstrSQL)
{
_variant_t RecordsAffected;
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pConnection->Execute(bstrSQL,NULL,adCmdText);
return true;
}
catch(_com_error e)
{
e.Description();
return false;
}
}
_RecordsetPtr& link::GetRecordSet(_bstr_t bstrSQL)
{
try
{
if(m_pConnection==NULL)
OnInitADOConn();
m_pRecordset.CreateInstance(__uuidof(Recordset));
m_pRecordset->Open(bstrSQL,m_pConnection.GetInterfacePtr(),adOpenDynamic,adLockOptimistic,adCmdText);
}
catch(_com_error e)
{
e.Description();
}
return m_pRecordset;
}
添加对话框的方法为:
在工具栏中选择“插入”---->“资源”------>Dialog----->N新建,这样就插入了一个对话框了,在对话框的任意位置右键,选择属性,可以修改该对话的名字/ID等属性,向对话框添加相关的控件(你想添加什么就添加什么),然后同时按下Ctrl和W为对话框添加一个类,确定之后在Member Variables中对需要设置变量的控件添加相关变量(变量的主要作用是接收从对话框传来的数据),未完。。。。。