⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 deletedlg.cpp

📁 模拟一个简单的医院系统
💻 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 + -