📄 findroomdlg.cpp
字号:
// m_addmoney_regnumberctr.GetWindowText(m_addmoney_regnumber);
CString strsql;
strsql.Format("SELECT * FROM roomsetting where 房间号='%s'",m_findroomdlgroomnumber);
m_pRecordsetout->raw_Close();
try
{//打开数据库
m_pRecordsetout->Open(_variant_t(strsql), // 查询 表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)
{//捕获异常
AfxMessageBox(e->ErrorMessage());
}
int i=0;
try
{
if(!m_pRecordsetout->BOF)//判断指针是否在数据集最后
m_pRecordsetout->MoveFirst();
else
{
MessageBox("表内数据为空","客房管理系统");
return ;
}
// read data from the database table
// while(!m_pRecordset->adoEOF)
// {
//读取查询到的数据,并在列表框内显示
//读取数据表内房间号字段数据
var = m_pRecordsetout->GetCollect("房间号");
if(var.vt != VT_NULL)
findroom_roomnumber = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.InsertItem(i,findroom_roomnumber.GetBuffer(50));
//读取数据表内房间类型字段数据
var = m_pRecordsetout->GetCollect("房间类型");
if(var.vt != VT_NULL)
findroom_roomlevel = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,1,findroom_roomlevel.GetBuffer(50));
//读取数据表内价格字段数据
var = m_pRecordsetout->GetCollect("价格");
if(var.vt != VT_NULL)
findroom_roommoney = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,2,findroom_roommoney.GetBuffer(50));
//读取数据表内房态字段数据
var = m_pRecordsetout->GetCollect("房态");
if(var.vt != VT_NULL)
findroom_roomstate = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,3,findroom_roomstate.GetBuffer(50));
//读取数据表内标志字段数据
var = m_pRecordsetout->GetCollect("标志");
if(var.vt != VT_NULL)
findroom_roomsign = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,4,findroom_roomsign.GetBuffer(50));
//读取数据表内备注字段数据
var = m_pRecordsetout->GetCollect("备注");
if(var.vt != VT_NULL)
findroom_roombeizhu = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,5,findroom_roombeizhu.GetBuffer(50));
//读取数据表内配置字段数据
var = m_pRecordsetout->GetCollect("配置");
if(var.vt != VT_NULL)
findroom_roomsetting = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,6,findroom_roomsetting.GetBuffer(50));
//读取数据表内使用设置字段数据
var = m_pRecordsetout->GetCollect("使用设置");
if(var.vt != VT_NULL)
findroom_roomusesetting = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,7,findroom_roomusesetting.GetBuffer(50));
//读取数据表内营业日期字段数据
var = m_pRecordsetout->GetCollect("营业日期");
if(var.vt != VT_NULL)
findroom_roomusedate = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,8,findroom_roomusedate.GetBuffer(50));
// i++;
// m_pRecordset->MoveNext();
// }
//更新显示
UpdateData(false);
//
}
catch(_com_error *e)//捕获异常
{
AfxMessageBox(e->ErrorMessage());
}
// 关闭记录集
m_pRecordsetout->Close();
// m_pRecordsetout = NULL;
//更新显示
UpdateData(false);
}
void CFindroomdlg::OnClickLISTfindroom(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
int i = m_findroom_list.GetSelectionMark();
//将选定的项目的对应内容显示在对应的输入框内,以便修改
m_findroom_roomlevel = m_findroom_list.GetItemText(i,1);
m_findroom_roommoney = m_findroom_list.GetItemText(i,2);
m_findroom_state=m_findroom_list.GetItemText(i,3);
m_findroom_foomsign=m_findroom_list.GetItemText(i,4);
m_findroom_beizhu=m_findroom_list.GetItemText(i,5);
m_findroom_setting =m_findroom_list.GetItemText(i,6);
m_findroom_usesetting =m_findroom_list.GetItemText(i,7);
m_findroom_usedate=m_findroom_list.GetItemText(i,8);
UpdateData(FALSE);//更新显示
*pResult = 0;
}
void CFindroomdlg::Onfindroomdelete()
{
// TODO: Add your control notification handler code here
if(m_findroomdlgroomnumber=="")
{
MessageBox("请先选择房间号!否则操作非法!","客房管理系统");
return;
}
// m_pRecordset.CreateInstance(__uuidof(Recordset));
// m_pRecordsetdel.CreateInstance(__uuidof(Recordset));
_variant_t var;
int nitem;
//得到第一个被选择item的位置
POSITION pos=m_findroom_list.GetFirstSelectedItemPosition();
if(pos==NULL)
{
MessageBox("没有选择记录!","客房管理系统");
return;
}
while(pos)
{
nitem=m_findroom_list.GetNextSelectedItem(pos);
CString sqlstr;
sqlstr.Format("delete from roomsetting where 房间号= '%s'",m_findroom_list.GetItemText(nitem,0));
// 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
//
try
{//打开数据库
m_pRecordsetdel->Open(_variant_t(sqlstr), // 查询 表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)//捕获异常
{
AfxMessageBox(e->ErrorMessage());
}
//提示操作结果
MessageBox("删除成功!!!","客房管理系统");
}
//////////////////////////////////////////////////////////
// 关闭记录集
// m_pRecordsetdel->Close();
// m_pRecordsetdel = NULL;
// AfxMessageBox("ffffffffff!!!");
try
{//打开数据库
m_pRecordset->Open("select * from roomsetting", // 查询 表中所有字段
theApp.m_pConnection.GetInterfacePtr(), // 获取库接库的IDispatch指针
adOpenDynamic,
adLockOptimistic,
adCmdText);
}
catch(_com_error *e)//捕获异常
{
AfxMessageBox(e->ErrorMessage());
}
m_findroom_list.DeleteAllItems();
//////// update list view
int i=0;
try
{
if(!m_pRecordset->BOF)//判断指针是否在数据集最后
m_pRecordset->MoveFirst();
else
{
MessageBox("表内数据为空","客房管理系统");
return ;
}
m_findroomdlgroomnumberctr.ResetContent();
// read data from the database table
while(!m_pRecordset->adoEOF)
{//循环读取数据,实时在列表框内显示
//读取数据表内房间号字段数据
var = m_pRecordset->GetCollect("房间号");
if(var.vt != VT_NULL)
findroom_roomnumber = (LPCSTR)_bstr_t(var);
m_findroomdlgroomnumberctr.AddString(findroom_roomnumber);
//在列表框内显示该字段的内容
m_findroom_list.InsertItem(i,findroom_roomnumber.GetBuffer(50));
//读取数据表内房间类型字段数据
var = m_pRecordset->GetCollect("房间类型");
if(var.vt != VT_NULL)
findroom_roomlevel = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,1,findroom_roomlevel.GetBuffer(50));
//读取数据表内价格字段数据
var = m_pRecordset->GetCollect("价格");
if(var.vt != VT_NULL)
findroom_roommoney = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,2,findroom_roommoney.GetBuffer(50));
//读取数据表内房态字段数据
var = m_pRecordset->GetCollect("房态");
if(var.vt != VT_NULL)
findroom_roomstate = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,3,findroom_roomstate.GetBuffer(50));
//读取数据表内标志字段数据
var = m_pRecordset->GetCollect("标志");
if(var.vt != VT_NULL)
findroom_roomsign = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,4,findroom_roomsign.GetBuffer(50));
//读取数据表内备注字段数据
var = m_pRecordset->GetCollect("备注");
if(var.vt != VT_NULL)
findroom_roombeizhu = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,5,findroom_roombeizhu.GetBuffer(50));
//读取数据表内配置字段数据
var = m_pRecordset->GetCollect("配置");
if(var.vt != VT_NULL)
findroom_roomsetting = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,6,findroom_roomsetting.GetBuffer(50));
//读取数据表内使用设置字段数据
var = m_pRecordset->GetCollect("使用设置");
if(var.vt != VT_NULL)
findroom_roomusesetting = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,7,findroom_roomusesetting.GetBuffer(50));
//读取数据表内营业日期字段数据
var = m_pRecordset->GetCollect("营业日期");
if(var.vt != VT_NULL)
findroom_roomusedate = (LPCSTR)_bstr_t(var);
//在列表框内显示该字段的内容
m_findroom_list.SetItemText(i,8,findroom_roomusedate.GetBuffer(50));
i++;
//移动记录集指针
m_pRecordset->MoveNext();
}
//
}
catch(_com_error *e)
{//捕获异常情况,实时对用户提示
AfxMessageBox(e->ErrorMessage());
}
// 关闭记录集
m_pRecordset->Close();
// m_pRecordset = NULL;
//更新显示内容
UpdateData(false);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -