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

📄 数据库dlg.cpp

📁 最新visualC++编程200例书籍源码包括对数据库的操作
💻 CPP
📖 第 1 页 / 共 2 页
字号:
rs->Close();
	if(m_table->IsOpen())
m_table->Close();
	if(m_db.IsOpen()&&rs2==NULL)
		m_db.Close();

if(m_table!=NULL)
	delete m_table;
if(rs!=NULL)
delete rs;
////////////////////////////////
CWnd* pwnd;
m_list1.ResetContent();
//CRect rect;
//m_list2.ShowWindow(false);
m_list1.ShowWindow(false);
if(!m_list2.IsWindowVisible())
m_picture.ShowWindow(true);
  pwnd=GetDlgItem(IDB_pre);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_nextrecord);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_firstrecord);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_lastrecord);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_insetrecord);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_maderecord);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_recordcouter);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_printrecord);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_findrecord);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_deleterecord);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_CLOSE);
pwnd->SetWindowText("数据库已关闭");

pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_opendef);
pwnd->SetWindowText("打开数据库");
pwnd->ShowWindow(true);
pwnd->EnableWindow(true);
Invalidate();
m_pills.SetReadOnly();
m_moneys.SetReadOnly();
/////////////////////////////////

}

void CMyDlg::close(CDaoRecordset rs,CDaoTableDef m_table)
{

}

void CMyDlg::Ondeleterecord() 
{
Cdeletedlg *dlg;
dlg=new Cdeletedlg(NULL,rs);
if(dlg->DoModal()==IDOK)
{
	m_list1.ResetContent();
	CMyDlg::Onopendef();
	UpdateData(false);
}
}

void CMyDlg::Onfirstrecord2() 
{
	try{
rs2->MoveFirst();
COleVariant temp;
rs2->GetFieldValue(2,temp);
m_givenmoney=V_R8(&temp);
CString str;
rs2->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}

rs2->GetFieldValue(0,temp);
m_patient=V_BSTRT(&temp);
rs2->GetFieldValue(3,temp);
m_thing=V_BSTRT(&temp);
rs2->GetFieldValue(4,temp);
m_doctor=V_BSTRT(&temp);
rs2->GetFieldValue(1,temp);
m_eatpill=V_BSTRT(&temp);
UpdateData(false);

		}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}
	
}

void CMyDlg::Onlastrecord2() 
{
	try{
rs2->MoveLast();
COleVariant temp;
rs2->GetFieldValue(2,temp);
m_givenmoney=V_R8(&temp);
CString str;
rs2->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}

rs2->GetFieldValue(0,temp);
m_patient=V_BSTRT(&temp);
rs2->GetFieldValue(3,temp);
m_thing=V_BSTRT(&temp);
rs2->GetFieldValue(4,temp);
m_doctor=V_BSTRT(&temp);
rs2->GetFieldValue(1,temp);
m_eatpill=V_BSTRT(&temp);
UpdateData(false);

		}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}	
}

void CMyDlg::Onnextrecord2() 
{
	try{
		if(!rs2->IsEOF())
rs2->MoveNext();
		else
			rs2->MoveFirst();
COleVariant temp;
rs2->GetFieldValue(2,temp);
m_givenmoney=V_R8(&temp);
CString str;
rs2->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}
rs2->GetFieldValue(0,temp);
m_patient=V_BSTRT(&temp);
rs2->GetFieldValue(3,temp);
m_thing=V_BSTRT(&temp);
rs2->GetFieldValue(4,temp);
m_doctor=V_BSTRT(&temp);
rs2->GetFieldValue(1,temp);
m_eatpill=V_BSTRT(&temp);
UpdateData(false);

		}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}	
}

void CMyDlg::Onpre2() 
{
	try{
		if(!rs2->IsBOF())
rs2->MovePrev();
		else
			rs2->MoveLast();
COleVariant temp;
rs2->GetFieldValue(2,temp);
m_givenmoney=V_R8(&temp);
CString str;
rs2->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}
rs2->GetFieldValue(0,temp);
m_patient=V_BSTRT(&temp);
rs2->GetFieldValue(3,temp);
m_thing=V_BSTRT(&temp);
rs2->GetFieldValue(4,temp);
m_doctor=V_BSTRT(&temp);
rs2->GetFieldValue(1,temp);
m_eatpill=V_BSTRT(&temp);
UpdateData(false);

		}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}
	
}

void CMyDlg::OnClose2() 
{
	if(rs2->IsOpen())
rs2->Close();
	if(m_table2->IsOpen())
m_table2->Close();
	if(m_db.IsOpen())
m_db.Close();
	if(m_table2!=NULL)
		delete m_table2;
if(rs2!=NULL)
delete rs2;
	m_list2.ResetContent();
m_getmoney.ShowWindow(false);

////////////////////////////////
CWnd* pwnd;
  pwnd=GetDlgItem(IDB_pre2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_nextrecord2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_firstrecord2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDB_lastrecord2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_insetrecord2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_maderecord2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_recordcouter2);
pwnd->ShowWindow(false);
 pwnd=GetDlgItem(IDC_printrecord2);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_findrecord2);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_deleterecord2);
pwnd->ShowWindow(false);
pwnd=GetDlgItem(IDC_CLOSE2);
pwnd->SetWindowText("数据库已关闭");
pwnd->ShowWindow(false);
//pwnd->EnableWindow(false);
 pwnd=GetDlgItem(IDC_opendef2);
pwnd->SetWindowText("打开数据库");
pwnd->ShowWindow(true);
pwnd->EnableWindow();
Invalidate();
if(!m_list1.IsWindowVisible())
m_picture.ShowWindow(true);
//m_list1.ShowWindow(false);
m_list2.ShowWindow(false);
m_patientcontrol.SetReadOnly();
m_doctorcontrol.SetReadOnly();
m_thingcontrol.SetReadOnly();
m_eatpillcontrol.SetReadOnly();
m_givenmoneycontrol.SetReadOnly();
/////////////////////////////////

	// TODO: Add your control notification handler code here
	
}

void CMyDlg::Ondeleterecord2() 
{
Cdeletedlg *dlg;
dlg=new Cdeletedlg();
if(dlg->DoModal()==IDOK)
{
	m_list2.ResetContent();
	CMyDlg::Onopendef2();
	//Invalidate();
	UpdateData(false);
}
	
}

void CMyDlg::Onfindrecord2() 
{
	// TODO: Add your control notification handler code here
	
}

void CMyDlg::Oninsetrecord2() 
{

	try{

//rs2->MoveLast();
rs2->AddNew();
UpdateData();
rs2->SetFieldValue(0,(LPCTSTR)m_patient);
rs2->SetFieldValue(1,(LPCTSTR)m_eatpill);
rs2->SetFieldValue(4,(LPCTSTR)m_doctor);
rs2->SetFieldValue(3,(LPCTSTR)m_thing); 
rs2->SetFieldValue(2,m_givenmoney);
COleDateTime dateTest;
dateTest = COleDateTime::GetCurrentTime();
  rs2->SetFieldValue(5,dateTest);
 
UpdateData(false);
try{
rs2->Update();
MessageBox("插入成功");

	}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}	
}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}	
	m_list2.ResetContent();	
	CMyDlg::Onopendef2();
}

void CMyDlg::Onmaderecord2() 
{
	// TODO: Add your control notification handler code here
	
}

void CMyDlg::Onopendef2() 
{
try{
	if(!m_db.IsOpen())
	CMyDlg::open();
m_table2=new CDaoTableDef(&m_db);

		m_table2->Open("病人");
	}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}

try{
rs2=new CDaoRecordset (&m_db);
		rs2->Open(m_table2,dbOpenDynaset );
	}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
	}
try{	
CWnd* pwnd=GetDlgItem(IDC_opendef2);
pwnd->SetWindowText("数据库已打开");
pwnd->ModifyStyle(0,WS_DISABLED);
Invalidate();
///////////////////////////

  pwnd=GetDlgItem(IDB_pre2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDB_nextrecord2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDB_firstrecord2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDB_lastrecord2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDC_insetrecord2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDC_recordcouter2);
pwnd->ShowWindow(true);
 pwnd=GetDlgItem(IDC_printrecord2);
pwnd->ShowWindow(true);
pwnd=GetDlgItem(IDC_findrecord2);
pwnd->ShowWindow(true);
pwnd=GetDlgItem(IDC_deleterecord2);
pwnd->ShowWindow(true);
pwnd=GetDlgItem(IDC_CLOSE2);
pwnd->SetWindowText("关闭数据库");
pwnd->ShowWindow(true);
pwnd->EnableWindow();
/////////////////////////////////

m_list2.ShowWindow(true);
m_picture.ShowWindow(false);
m_getmoney.ShowWindow(true);

//Invalidate();
m_patientcontrol.SetReadOnly(false);
m_doctorcontrol.SetReadOnly(false);
m_thingcontrol.SetReadOnly(false);
m_eatpillcontrol.SetReadOnly(false);
m_givenmoneycontrol.SetReadOnly(false);
rs2->MoveFirst();
COleVariant temp;
rs2->GetFieldValue(2,temp);
m_givenmoney=V_R8(&temp);
CString str;
rs2->GetFieldValue(0,temp);
const VARIANT *variant=LPCVARIANT(temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}

rs2->GetFieldValue(0,temp);
m_patient=V_BSTRT(&temp);
rs2->GetFieldValue(3,temp);
m_thing=V_BSTRT(&temp);
rs2->GetFieldValue(4,temp);
m_doctor=V_BSTRT(&temp);
rs2->GetFieldValue(1,temp);
m_eatpill=V_BSTRT(&temp);
UpdateData(false);

		}
	catch(CDaoException *e)
	{
		e->Delete();
		return;
}
//////////////
try
{
	COleVariant temp;
CString strs;
	const VARIANT *variant=LPCVARIANT(temp);
CString str;
double d;


rs2->MoveLast();
while(!rs2->IsBOF())
{

rs2->GetFieldValue(0,temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}
strs=str;
strs+=" ";
rs2->GetFieldValue(3,temp);
strs+=V_BSTRT(&temp);
strs+=" ";

rs2->GetFieldValue(4,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
rs2->GetFieldValue(1,temp);
strs+=V_BSTRT(&temp);
strs+=" ";
rs2->GetFieldValue(2,temp);
d=V_R8(&temp);
str.Format("%.2f元",d);
strs+=str;
//if(strs.GetLength()>m_list2.GetL

m_list2.AddString(strs);
UpdateData(false);
strs="";
rs2->MovePrev();

}

}
catch(CDaoException *e)
	{


		e->Delete();
		return;	
}

	/////////////////
}

void CMyDlg::Onprintrecord2() 
{

CStdioFile f2;
if( !f2.Open( fileprint, CFile::modeCreate
       | CFile::modeWrite | CFile::typeText ) ) {
   #ifdef _DEBUG
      afxDump << "Unable to open file" << "\n";
   #endif
   exit( 1 );
}
CString strs;
strs="                       病人历史一览表 \n";
f2.WriteString(strs);
strs="病人      病情      医生      用药          费用 \n";
f2.WriteString(strs);

try
{
	COleVariant temp;

	const VARIANT *variant=LPCVARIANT(temp);
CString str;
double d;

rs2->MoveFirst();
while(!rs2->IsEOF())
{

rs2->GetFieldValue(0,temp);
if(variant->vt & VT_BYREF)
return;
if(variant->vt==VT_BSTR)
{
	 str=V_BSTRT(&temp);	 
}
strs=str;
strs+="         ";
rs2->GetFieldValue(3,temp);
strs+=V_BSTRT(&temp);
strs+="         ";

rs2->GetFieldValue(4,temp);
strs+=V_BSTRT(&temp);
strs+="         ";
rs2->GetFieldValue(1,temp);
strs+=V_BSTRT(&temp);
strs+="             ";
rs2->GetFieldValue(2,temp);
d=V_R8(&temp);
str.Format("%.2f元\n",d);
strs+=str;
f2.WriteString(strs);
strs="";
rs2->MoveNext();

}

}
catch(CDaoException *e)
	{


		e->Delete();
		return;	
}

f2.SetLength(f2.GetPosition());
f2.Close();
	CString sr;
	sr="notepad ";
	sr+=fileprint;
WinExec(sr,SW_SHOW);	
}

void CMyDlg::Onrecordcouter2() 
{
	try{
rs2->MoveLast();
long cc=rs2->GetRecordCount();	
CString sr;
sr.Format("共%d条纪录",cc);
MessageBox(sr);
	}
catch(CDaoException *e)
	{
	MessageBox("没有纪录");
		e->Delete();
	return;	
}
}

void CMyDlg::OnMouseMove(UINT nFlags, CPoint point) 
{
	CRect rect;
	// TODO: Add your message handler code here and/or call default
	m_zuozhe.GetUpdateRect(&rect,true);
	if(rect.PtInRect(point))
	{
	//CDC*dc=	m_zuozhe.GetDC();
	//dc->SetTextColor(RGB(255,0,0));
//	m_zuozhe.SetWindowText("fda");
//UpdateData(false);
//Invalidate();
	}
	CDialog::OnMouseMove(nFlags, point);
}

HBRUSH CMyDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	CBrush m_brush;

	switch (nCtlColor) {

          case CTLCOLOR_EDIT:
//pDC->SetTextColor(RGB(0, 0, 225));
 //pDC->SetBkColor(RGB(200, 200, 200));
 return m_brush;
	
          case CTLCOLOR_MSGBOX:
            
              pDC->SetTextColor(RGB(255, 0, 0));
              pDC->SetBkColor(RGB(0, 0, 0));
              return m_brush;

          default:
              return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
          }
      
	return m_brush;
}

int CMyDlg::OnCreate(LPCREATESTRUCT lpCreateStruct) 
{
	if (CDialog::OnCreate(lpCreateStruct) == -1)
		return -1;
	// TODO: Add your specialized creation code here

	return 0;
}

void CMyDlg::OnChangepill() 
{
	
}
void CMyDlg::OnButton1() 
{
try
{
	COleVariant temp;
CString strs;
	const VARIANT *variant=LPCVARIANT(temp);
CString str;
double d;
double d2=0;
COleDateTime dateTest1;
dateTest1= COleDateTime::GetCurrentTime();
  
rs2->MoveFirst();
while(!rs2->IsEOF())
{
rs2->GetFieldValue(2,temp);
d=V_R8(&temp);
rs2->GetFieldValue(5,temp);
COleDateTime dateTest(temp.date);
if(dateTest.GetYear()==dateTest1.GetYear()&&dateTest.GetMonth()==dateTest1.GetMonth()&&dateTest.GetDay()==dateTest1.GetDay())
d2+=d;
UpdateData(false);

rs2->MoveNext();

}
zuozhe++;
if(zuozhe==5)
zuozhe=1;
str.Format("今日共计%.2f元人民币",d2);
MessageBox(str);
}
catch(CDaoException *e)
	{
	MessageBox("没有钱");

		e->Delete();
		return;	
}
/////////////////////////////
switch(zuozhe)
{
	case 1: m_zuozhe.SetWindowText("我喜欢电脑,喜欢编程");break;
	case 2: m_zuozhe.SetWindowText("学习于中原工学院");break;
	case 3: m_zuozhe.SetWindowText("Email:wangsir789456123@163.com");break;
	case 4: m_zuozhe.SetWindowText("oicq是52440582");break;
	default:break;
}
UpdateData(false);	
}

LRESULT CMyDlg::WindowProc(UINT message, WPARAM wParam, LPARAM lParam) 
{
	// TODO: Add your specialized code here and/or call the base class
/*	switch(message)
	{
	case MY_NOTIFYICON:
		if(lParam==WM_LBUTTONDOWN)
		{

		}
		else if(lParam==WM_RBUTTONDOWN)
		{


		}
		break;
	default:break;
	}*/
	return CDialog::WindowProc(message, wParam, lParam);
}

void CMyDlg::OnDestroy() 
{
	
	if(m_db.IsOpen())
m_db.Close();
/*if(m_table!=NULL)
		delete m_table;
if(rs!=NULL)
delete rs;
	if(m_table2!=NULL)
		delete m_table2;
if(rs2!=NULL)
delete rs2;*/
	CDialog::OnDestroy();

	// TODO: Add your message handler code here
	
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -