VC6.0,ADO连接SQL2000数据库,程序如下:
1、变量定义:_RecordsetPtr m_pRecordsetToSee;2、连接:m_pRecordsetToSee.CreateInstance(__uuidof(Recordset));
try
{
CString str;
str = "select * from sm_供应商档案";
m_pRecordsetToSee->Open((_bstr_t)str, _variant_t((IDispatch *)m_pConnection,true),\
adOpenDynamic,adLockReadOnly,adCmdText); //说明:m_pConnection已连接上数据库
}
catch (_com_error e)
{
MessageBox("RecordsetToSee Open Failed!","Prompt",MB_OK|MB_ICONERROR);
}
3、按钮ID_BTN_PREV的响应函数:
void CDlgAddVendor::OnBtnPrev()
{
if(TRUE == CheckIsEditing()) //判断是否正在编辑
{
if(IDYES == MessageBox("是否保存正在新增的供应商信息?","提示",MB_YESNO))
{
OnBtnSave();//保存信息
return;
}
}
else
{
if(!m_pRecordsetToSee->BOF)
{
try
{
m_pRecordsetToSee->MovePrevious();
DispCurrentItem(m_pRecordsetToSee); // 显示当前记录至对话框中
}
catch (_com_error e)
{
MessageBox(e.ErrorMessage());
}
}
}
}4、运行结果:当记录已到达第一条时,再单击“<|”按钮就出错(见附图)。
1、变量定义:_RecordsetPtr m_pRecordsetToSee;2、连接:m_pRecordsetToSee.CreateInstance(__uuidof(Recordset));
try
{
CString str;
str = "select * from sm_供应商档案";
m_pRecordsetToSee->Open((_bstr_t)str, _variant_t((IDispatch *)m_pConnection,true),\
adOpenDynamic,adLockReadOnly,adCmdText); //说明:m_pConnection已连接上数据库
}
catch (_com_error e)
{
MessageBox("RecordsetToSee Open Failed!","Prompt",MB_OK|MB_ICONERROR);
}
3、按钮ID_BTN_PREV的响应函数:
void CDlgAddVendor::OnBtnPrev()
{
if(TRUE == CheckIsEditing()) //判断是否正在编辑
{
if(IDYES == MessageBox("是否保存正在新增的供应商信息?","提示",MB_YESNO))
{
OnBtnSave();//保存信息
return;
}
}
else
{
if(!m_pRecordsetToSee->BOF)
{
try
{
m_pRecordsetToSee->MovePrevious();
DispCurrentItem(m_pRecordsetToSee); // 显示当前记录至对话框中
}
catch (_com_error e)
{
MessageBox(e.ErrorMessage());
}
}
}
}4、运行结果:当记录已到达第一条时,再单击“<|”按钮就出错(见附图)。
{
try
{
m_pRecordsetToSee->MovePrevious();
//向前移动后需要判断是否到了记录头
if(!m_pRecordsetToSee->BOF)
{
DispCurrentItem(m_pRecordsetToSee); // 显示当前记录至对话框中
}
}
catch (_com_error e)
{
MessageBox(e.ErrorMessage());
}
}