📄 kufangdbsdlg.cpp
字号:
"%d,'%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",newShebeiID,strFlh,strYqmc,strXh,strGg,strDj,strCj,strGb,strCch,strCcrq,strGys,strGzrq,strYsr,strXz,strLydw,strLyr,strSyfx, strJfkm,strJsr);
TRACE(sql);
//把记录插入到数据库中
m_db.ExecuteSQL(sql);
//把新记录的信息显示在成员列表控件中
InsertShebeiItem(newShebeiID,strFlh,strYqmc,strXh,strGg,strDj,strCj,strGb,strCch,strCcrq,strGys,strGzrq,strYsr,strXz,strLydw,strLyr,strSyfx, strJfkm,strJsr);
rs.Close();
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
}
void CKufangDBSDlg::OnBtnXiugaiShebei()
{
// TODO: Add your control notification handler code here
//选择要修改的记录项
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
int nItem = m_listShebei.GetNextItem(-1,LVNI_SELECTED);
if(nItem == -1){
AfxMessageBox("请选择要修改的成员");
return;
}
//获取第nItem列中的信息
int id = atoi(m_listShebei . GetItemText(nItem,0));
CString Flh = m_listShebei . GetItemText(nItem,1);
CString Yqmc = m_listShebei . GetItemText(nItem,2);
CString Xh = m_listShebei . GetItemText(nItem,3);
CString Gg = m_listShebei . GetItemText(nItem,4);
CString Dj = m_listShebei . GetItemText(nItem,5);
CString Cj = m_listShebei . GetItemText(nItem,6);
CString Gb = m_listShebei . GetItemText(nItem,7);
CString Cch = m_listShebei . GetItemText(nItem,8);
CString Ccrq = m_listShebei . GetItemText(nItem,9);
CString Gys = m_listShebei . GetItemText(nItem,10);
CString Gzrq = m_listShebei . GetItemText(nItem,11);
CString Ysr = m_listShebei . GetItemText(nItem,12);
CString Xz = m_listShebei . GetItemText(nItem,13);
CString Lydw = m_listShebei . GetItemText(nItem,14);
CString Lyr = m_listShebei . GetItemText(nItem,15);
CString Syfx = m_listShebei . GetItemText(nItem,16);
CString Jfkm = m_listShebei . GetItemText(nItem,17);
CString Jsr = m_listShebei . GetItemText(nItem,18);
//创建时间变量
COleDateTime dtTime1(atoi(Ccrq.Left(4)),atoi(Ccrq.Mid(5,2)),atoi(Ccrq.Mid(8,2)),0,0,0);
COleDateTime dtTime2(atoi(Ccrq.Left(4)),atoi(Ccrq.Mid(5,2)),atoi(Ccrq.Mid(8,2)),0,0,0);
//创建成员对话框实例
CShebeiDlg dlg;
//给成员对话框的实例的变量赋值
//dlg.m_strYqbh;
dlg.m_strFlh = Flh;
dlg.m_strYqmc = Yqmc;
dlg.m_strXh = Xh;
dlg.m_strGg = Gg;
dlg.m_strDj = Cch;
dlg.m_strCj = Cj;
dlg.m_strGb = Gb;
dlg.m_strCch = Cch;
dlg.m_dtCcrq = dtTime1;
dlg.m_strGys = Gys;
dlg.m_dtGzrq = dtTime2;
dlg.m_strYsr = Ysr;
dlg.m_strXz =Xz;
dlg.m_strLydw = Lydw;
dlg.m_strLyr = Lyr;
dlg.m_strSyfx = Syfx;
dlg.m_strJfkm = Jfkm;
dlg.m_strJsr = Jsr;
//打开成员对话框,进行修改
if(dlg.DoModal() ==IDOK ){
//获取修改后的参数
CString strFlh = dlg.m_strFlh;
CString strYqmc = dlg.m_strYqmc;
CString strXh = dlg.m_strXh;
CString strGg = dlg.m_strGg;
CString strDj = dlg.m_strDj;
CString strCj = dlg.m_strCj;
CString strGb = dlg.m_strGb;
CString strCch = dlg.m_strCch;
CString strCcrq = dlg.m_dtCcrq.Format("%Y-%m-%d");
CString strGys = dlg.m_strGys;
CString strGzrq = dlg.m_dtGzrq.Format("%Y-%m-%d");
CString strYsr = dlg.m_strYsr;
CString strXz = dlg.m_strXz;
CString strLydw = dlg.m_strLydw;
CString strLyr = dlg.m_strLyr;
CString strSyfx = dlg.m_strSyfx;
CString strJfkm = dlg.m_strJfkm;
CString strJsr = dlg.m_strJsr;
TRY{
CString sql;
//修改数据库相应的记录
sql.Format("update sb set Flh ='%s',yqmc='%s',xh='%s',gg='%s',dj ='%s',cj ='%s',gb='%s',"
"cch='%s',ccrq='%s',gys='%s',gzrq='%s',ysr='%s',xz= '%s',Lydw='%s',Lyr='%s',Syfx='%s',"
"Jfkm='%s',Jsr='%s'"
"where yqbh=%d",strFlh,strYqmc,strXh,strGg,strDj,strCj,strGb,strCch,strCcrq,strGys,strGzrq,strYsr,strXz,strLydw,strLyr,strSyfx, strJfkm,strJsr,id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//修改列表控件的值
m_listShebei.SetItemText(nItem,1, strFlh);
m_listShebei.SetItemText(nItem,2, strYqmc);
m_listShebei.SetItemText(nItem,3, strXh);
m_listShebei.SetItemText(nItem,4, strGg);
m_listShebei.SetItemText(nItem,5, strDj);
m_listShebei.SetItemText(nItem,6, strCj);
m_listShebei.SetItemText(nItem,7, strGb);
m_listShebei.SetItemText(nItem,8, strCch);
m_listShebei.SetItemText(nItem,9, strCcrq);
m_listShebei.SetItemText(nItem,10, strGys);
m_listShebei.SetItemText(nItem,11, strGzrq);
m_listShebei.SetItemText(nItem,12, strYsr);
m_listShebei.SetItemText(nItem,13, strXz);
m_listShebei.SetItemText(nItem,14, strLydw);
m_listShebei.SetItemText(nItem,15, strLyr);
m_listShebei.SetItemText(nItem,16, strSyfx);
m_listShebei.SetItemText(nItem,17, strJfkm);
m_listShebei.SetItemText(nItem,18, strJsr);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
}
void CKufangDBSDlg::OnBtnDelShebei()
{
// TODO: Add your control notification handler code here
//选择要删除的记录项所在行
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
int nItem = m_listShebei.GetNextItem(-1,LVNI_SELECTED);
if(nItem == -1){
AfxMessageBox("请选择要删除的记录");
return;
}
//获取记录ID
int id = atoi(m_listShebei.GetItemText(nItem,0));
TRY{
CString sql;
//删除数据库相应的记录
sql.Format("DELETE sb "
"where yqbh = %d",id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//从列表空间中 删除该记录
m_listShebei.DeleteItem(nItem);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CKufangDBSDlg::OnBtnBaobiaoShebei()
{
// TODO: Add your control notification handler code here
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
CTjshebeiDlg dlg5;
//打开对话框
dlg5.DoModal();
}
void CKufangDBSDlg::OnBtnSjXinxi()
{
// TODO: Add your control notification handler code here
//创建一个成员对话框实例
CXunDlg dlg;
//打开对话框
dlg.DoModal();
//设置列表空间风格
DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
dlg.m_listChaxun.SetExtendedStyle(dwExStyle);
}
void CKufangDBSDlg::OnBtnXunShebei()
{
// TODO: Add your control notification handler code here
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
CXunDlg dlg1;
//打开对话框
dlg1.DoModal();
//设置列表空间风格
//DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES | LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
//dlg.m_listChaxun.SetExtendedStyle(dwExStyle);
//初始化设备列表控件
/*dlg.m_listChaxun.InsertColumn(0,"仪器编号",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(1,"分类号",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(2,"仪器名称",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(3,"型号",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(4,"规格",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(5,"单价",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(6,"厂家",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(7,"国别",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(8,"出厂号",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(9,"出厂日期",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(10,"供应商",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(11,"购置日期",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(12,"验收人",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(13,"现状",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(14,"领用单位",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(15,"领用人",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(16,"使用方向",LVCFMT_CENTER,60) ;
dlg.m_listChaxun.InsertColumn(17,"经费科目",LVCFMT_CENTER,45) ;
dlg.m_listChaxun.InsertColumn(18,"经手人",LVCFMT_CENTER,60) ;*/
}
void CKufangDBSDlg::OnBtnAddSjxx()
{
//CSjxxDlg dlg2;
//dlg2.DoModal();
// TODO: Add your control notification handler code here
//创建一个成员对话框实例
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
CSjxxDlg dlg2;
//打开对话框
if(dlg2.DoModal() == IDOK){
//从对话框中获取姓名和生日参数
/*仪器编号一行由程序自动添加*/
CString strSjmc = dlg2.m_strSjmc;
CString strSjdh = dlg2.m_strSjdh;
CString strCzhm = dlg2.m_strCzhm;
CString strLxr = dlg2.m_strLxr;
CString strLxrdh = dlg2.m_strLxrdh;
TRY{
//打开记录集,获取最大的成员ID值
CRecordset rs(&m_db);
rs.Open(CRecordset::dynaset,"select max(sjbh) from sj");
//设置新添加记录的成员ID值
int newSjxxID = 1;
//如果数据库里面已经有记录了,则新的成员ID 是成员ID最大值+1
if(!rs.IsEOF()){
CDBVariant var;
rs.GetFieldValue((short)0, var, SQL_C_SLONG);
if(var.m_dwType != DBVT_NULL)
newSjxxID = var.m_iVal + 1 ;
}
//创建插入新记录的字符
CString sql ;
sql.Format("Insert into sj(sjbh,"
"sjmc, sjdh, czhm, lxr, lxrdh)"
"VALUES("
"%d,'%s','%s','%s','%s','%s')",newSjxxID, strSjmc,strSjdh,strCzhm,strLxr,strLxrdh);
TRACE(sql);
//把记录插入到数据库中
m_db.ExecuteSQL(sql);
//把新记录的信息显示在成员列表控件中
InsertSjxxItem(newSjxxID, strSjmc,strSjdh,strCzhm,strLxr,strLxrdh);
rs.Close();
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
}
void CKufangDBSDlg::OnBtnXiugaiSjxx()
{
// TODO: Add your control notification handler code here
//选择要修改的记录项
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
int nItem = m_listSjxx.GetNextItem(-1,LVNI_SELECTED);
if(nItem == -1){
AfxMessageBox("请选择要修改的成员");
return;
}
//获取第nItem列中的信息
int id = atoi(m_listSjxx . GetItemText(nItem,0));
CString Sjmc = m_listSjxx . GetItemText(nItem,1);
CString Sjdh = m_listSjxx . GetItemText(nItem,2);
CString Czhm = m_listSjxx . GetItemText(nItem,3);
CString Lxr = m_listSjxx . GetItemText(nItem,4);
CString Lxrdh = m_listSjxx . GetItemText(nItem,5);
//创建成员对话框实例
CSjxxDlg dlg2;
//给成员对话框的实例的变量赋值
//dlg.m_strYqbh;
dlg2.m_strSjmc = Sjmc;
dlg2.m_strSjdh = Sjdh;
dlg2.m_strCzhm = Czhm;
dlg2.m_strLxr = Lxr;
dlg2.m_strLxrdh = Lxrdh;
//打开成员对话框,进行修改
if(dlg2.DoModal() ==IDOK ){
//获取修改后的参数
CString strSjmc = dlg2.m_strSjmc;
CString strSjdh = dlg2.m_strSjdh;
CString strCzhm = dlg2.m_strCzhm;
CString strLxr = dlg2.m_strLxr;
CString strLxrdh = dlg2.m_strLxrdh;
TRY{
CString sql;
//修改数据库相应的记录
sql.Format("update sj set sjmc = '%s', sjdh = '%s',czhm='%s',lxr='%s',lxrdh='%s'"
"where Sjbh =%d", strSjmc, strSjdh, strCzhm, strLxr, strLxrdh, id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//修改列表控件的值
m_listSjxx.SetItemText(nItem,1, strSjmc);
m_listSjxx.SetItemText(nItem,2, strSjdh);
m_listSjxx.SetItemText(nItem,3, strCzhm);
m_listSjxx.SetItemText(nItem,4, strLxr);
m_listSjxx.SetItemText(nItem,5, strLxrdh);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
}
void CKufangDBSDlg::OnBtnDelSjxx()
{
// TODO: Add your control notification handler code here
//选择要删除的记录项所在行
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
int nItem = m_listSjxx.GetNextItem(-1,LVNI_SELECTED);
if(nItem == -1){
AfxMessageBox("请选择要删除的记录");
return;
}
//获取记录ID
int id = atoi(m_listSjxx.GetItemText(nItem,0));
TRY{
CString sql;
//删除数据库相应的记录
sql.Format("DELETE sj "
"where sjbh = %d",id);
TRACE(sql);
m_db.ExecuteSQL(sql);
//从列表空间中 删除该记录
m_listSjxx.DeleteItem(nItem);
}
CATCH(CDBException,ex)
{
AfxMessageBox(ex->m_strError);
AfxMessageBox(ex->m_strStateNativeOrigin);
}
AND_CATCH(CException,e){
TCHAR szError[100];
e->GetErrorMessage(szError,100);
AfxMessageBox(szError);
}
END_CATCH
}
void CKufangDBSDlg::OnBtnXunSjxx()
{
// TODO: Add your control notification handler code here
if(!m_db.IsOpen()){
AfxMessageBox("数据库未连接");
return;
}
CXunsjxxDlg dlg3;
//打开对话框
dlg3.DoModal();
}
void CKufangDBSDlg::InsertSjxxItem(int sjbh,CString sjmc,CString sjdh,CString czhm,CString lxr,CString lxrdh)
{
//获取当前的显示条数
int nIndex = m_listSjxx.GetItemCount();
LV_ITEM lvItem;
lvItem.mask = LVIF_TEXT;
lvItem.iItem = nIndex;
lvItem.iSubItem = 0;
CString temp;
temp.Format("%d",sjbh);
lvItem.pszText = (char*)(LPCTSTR) temp;
//在nIndex一行插入数据
m_listSjxx . InsertItem(&lvItem);
m_listSjxx . SetItemText(nIndex,1, sjmc);
m_listSjxx . SetItemText(nIndex,2, sjdh);
m_listSjxx . SetItemText(nIndex,3, czhm);
m_listSjxx . SetItemText(nIndex,4, lxr);
m_listSjxx . SetItemText(nIndex,5, lxrdh);
}
void CKufangDBSDlg::OnButton1()
{
// TODO: Add your control notification handler code here
WinExec("calc.exe",SW_SHOWNORMAL);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -