📄 deletedlg.cpp
字号:
// deletedlg.cpp : implementation file
//
#include "stdafx.h"
#include "数据库.h"
#include "deletedlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// Cdeletedlg dialog
Cdeletedlg::Cdeletedlg(CWnd* pParent /*=NULL*/)
: CDialog(Cdeletedlg::IDD, pParent)
{
//m_database=m_data;
//{{AFX_DATA_INIT(Cdeletedlg)
m_table=NULL;
m_database=NULL;
m_stringpill = _T("输入你要删除的信息:");
first=3;
pEdit=NULL;
//}}AFX_DATA_INIT
}
Cdeletedlg::Cdeletedlg(CWnd* pParent ,CDaoRecordset* m_data)
: CDialog(Cdeletedlg::IDD, pParent)
{
m_table=NULL;
m_database=NULL;
//m_database=m_data;
first=2;
m_stringpill = _T("输入你要删除的药品:");
pEdit=NULL;
}
void Cdeletedlg::DoDataExchange(CDataExchange* pDX)
{
//DDX_Text(pDX, IDC_MADEPILL, m_edit);
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(Cdeletedlg)
DDX_Control(pDX, IDC_deletepill, m_deletepills);
DDX_Control(pDX, IDC_delete, m_delete);
DDX_Text(pDX, IDC_stringpill, m_stringpill);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(Cdeletedlg, CDialog)
//{{AFX_MSG_MAP(Cdeletedlg)
ON_BN_CLICKED(IDC_enter, Onenter)
ON_BN_CLICKED(IDC_deletepill, Ondeletepill)
ON_CBN_DBLCLK(IDC_delete, OnDblclkdelete)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// Cdeletedlg message handlers
BOOL Cdeletedlg::OnInitDialog()
{
GetModuleFileName(NULL,filepath.GetBufferSetLength(MAX_PATH+1),MAX_PATH);
filepath.ReleaseBuffer();
int np;
np=filepath.ReverseFind('\\');
filepath=filepath.Left(np);
filepath+="\\数据库.mdb";
UpdateData(false);
CDialog::OnInitDialog();
if(first==3)
{
m_deletepills.SetWindowText("删除");
Cdeletedlg::SetWindowText("删除病史");
int a=m_delete.GetDroppedWidth();
a+=20;
m_delete.SetDroppedWidth(a);
}
if(first==1)
{
m_deletepills.SetWindowText("修改");
Cdeletedlg::SetWindowText("修改数据");
pEdit = new CEdit;
pEdit->Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER|WS_DISABLED ,
CRect(25, 135, 150, 160), this, IDC_MADEPILL);
}
else
{
m_deletepills.SetWindowText("删除");
Cdeletedlg::SetWindowText("删除数据");
}
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void Cdeletedlg::Onenter()
{
try{
m_db.Open(filepath);
}
catch(CDaoException *e)
{
e->Delete();
return;
}
m_table=new CDaoTableDef(&m_db);
try{
if(first==3)
m_table->Open("病人");
else
m_table->Open("药品");
}
catch(CDaoException *e)
{
//DisplayDaoException(e);
//MessageBox(e);
e->Delete();
return;
}
m_database=new CDaoRecordset (&m_db);
try{
m_database->Open(m_table,dbOpenDynaset );
}
catch(CDaoException *e)
{
e->Delete();
return;
}
m_database->MoveFirst();
////////////////////
if(first==3)
{
try
{
COleVariant temp;
CString strs;
const VARIANT *variant=LPCVARIANT(temp);
CString str;
double d;
while(!m_database->IsEOF())
{
m_database->GetFieldValue(0,temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
str=V_BSTRT(&temp);
}
strs=str;
strs+=" ";
m_database->GetFieldValue(3,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(4,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(1,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(2,temp);
d=V_R8(&temp);
str.Format("%.2f元",d);
strs+=str;
m_delete.AddString(strs);
strs="";
m_database->MoveNext();
}
}
catch(CDaoException *e)
{
e->Delete();
return;
}
}
///////////////////
try
{
while(!m_database->IsEOF())
{
COleVariant temp;
CString str;
m_database->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
str=V_BSTRT(&temp);
}
string=str;
m_delete.AddString(string);
m_database->MoveNext();
}
}
catch(CDaoException *e)
{
e->Delete();
return;
}
}
void Cdeletedlg::Ondeletepill()
{
UpdateData();
///////////////////////////
if(first==3)
{
try
{
double d1;
CString strs;
CString str;
CString choosetext;
int couter=m_delete.GetCurSel();
m_delete.GetLBText(couter,choosetext);
m_database->MoveFirst();
while(!m_database->IsEOF())
{
COleVariant temp;
const VARIANT *variant=LPCVARIANT(temp);
m_database->GetFieldValue(0,temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
str=V_BSTRT(&temp);
}
strs=str;
strs+=" ";
m_database->GetFieldValue(3,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(4,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(1,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
m_database->GetFieldValue(2,temp);
d1=V_R8(&temp);
str.Format("%.2f元",d1);
strs+=str;
if(strs==choosetext)
{
m_database->Delete();
MessageBox("你已经成功删除");
if(m_database->IsOpen())
m_database->Close();
if(m_table->IsOpen())
m_table->Close();
if(m_db.IsOpen())
m_db.Close();
m_delete.ResetContent();
Cdeletedlg::Onenter();
UpdateData(false);
break;
}
strs="";
m_database->MoveNext();
}
}
catch(CDaoException *e)
{
e->Delete();
return;
}
}
////////////////////////
if(first==2)
{
try
{
m_database->MoveFirst();
CString choosetext;
int couter=m_delete.GetCurSel();
m_delete.GetLBText(couter,choosetext);
m_database->MoveFirst();
while(!m_database->IsEOF())
{
COleVariant temp;
CString str;
m_database->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
str=V_BSTRT(&temp);
}
string=str;
if(string==choosetext)
{
if(first==2)
{
m_database->Delete();
string="你已经成功删除了"+string;
MessageBox(string);
if(m_db.IsOpen())
m_db.Close();
if(m_table->IsOpen())
m_table->Close();
if(m_database->IsOpen())
m_database->Close();
m_delete.ResetContent();
Cdeletedlg::Onenter();
break;
}
else
{
pEdit->EnableWindow();
pEdit->SetFocus();
// m_database->Edit();
//UpdataData();
}
}
m_database->MoveNext();
}
}
catch(CDaoException *e)
{
e->Delete();
return;
}
}
}
void Cdeletedlg::OnDblclkdelete()
{
// TODO: Add your control notification handler code here
}
void Cdeletedlg::OnOK()
{
// TODO: Add extra validation here
if(first==1)
{
try{
COleVariant temp;
UpdateData();
m_edit=pEdit->GetSel();
CString str;
str.Format("%.2f",m_edit);
MessageBox(str);
temp=COleVariant(m_edit);
m_database->SetFieldValue("价格",temp);
UpdateData(false);
}
catch(CDaoException *e)
{
e->Delete();
return;
}
try{
m_database->Update();
MessageBox("win");
}
catch(CDaoException *e)
{
e->Delete();
return;
}
}
if(m_db.IsOpen())
m_db.Close();
if(m_database!=NULL)
delete m_database;
if(m_table!=NULL)
delete m_table;
if(pEdit!=NULL)
delete pEdit;
CDialog::OnOK();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -