亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? configview.cpp

?? visual c++數(shù)據(jù)庫開發(fā)基礎與應用的源代碼
?? CPP
字號:
// ConfigView.cpp : implementation file
//

#include "stdafx.h"
#include "FinanceMIS.h"
#include "ConfigView.h"


#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif


/////////////////////////////////////////////////////////////////////////////
// CConfigView

IMPLEMENT_DYNCREATE(CConfigView, CFormView)

CConfigView::CConfigView()
	: CFormView(CConfigView::IDD)
{
	//{{AFX_DATA_INIT(CConfigView)
	m_strDBName = _T("FinanceDB");
	m_strExpType = _T("");
	m_strInType = _T("");
	m_strPwd = _T("dbFin");
	m_strServer = _T("LLITTLEMARK\\SQLDB");
	m_strUser = _T("dbFin");
	//}}AFX_DATA_INIT
}

CConfigView::~CConfigView()
{
}

void CConfigView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CConfigView)
	DDX_Control(pDX, IDC_LIST_IN, m_listInType);
	DDX_Control(pDX, IDC_LIST_EXP, m_listExpType);
	DDX_Text(pDX, IDC_EDIT_DB, m_strDBName);
	DDX_Text(pDX, IDC_EDIT_EXP, m_strExpType);
	DDX_Text(pDX, IDC_EDIT_IN, m_strInType);
	DDX_Text(pDX, IDC_EDIT_PWD, m_strPwd);
	DDX_Text(pDX, IDC_EDIT_SERVER, m_strServer);
	DDX_Text(pDX, IDC_EDIT_USER, m_strUser);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CConfigView, CFormView)
	//{{AFX_MSG_MAP(CConfigView)
	ON_BN_CLICKED(IDC_BTN_DBCON, OnBtnDbcon)
	ON_BN_CLICKED(IDC_BTN_IN_ADD, OnBtnInAdd)
	ON_BN_CLICKED(IDC_BTN_IN_MOD, OnBtnInMod)
	ON_BN_CLICKED(IDC_BTN_IN_DEL, OnBtnInDel)
	ON_BN_CLICKED(IDC_BTN_EXP_ADD, OnBtnExpAdd)
	ON_BN_CLICKED(IDC_BTN_EXP_MOD, OnBtnExpMod)
	ON_BN_CLICKED(IDC_BTN_EXP_DEL, OnBtnExpDel)
	ON_NOTIFY(NM_CLICK, IDC_LIST_EXP, OnClickListExp)
	ON_NOTIFY(NM_CLICK, IDC_LIST_IN, OnClickListIn)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CConfigView diagnostics

#ifdef _DEBUG
void CConfigView::AssertValid() const
{
	CFormView::AssertValid();
}

void CConfigView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CConfigView message handlers
void CConfigView::InitControl()
{
	//設置列表框控件擴展風格
	DWORD dwExStyle = LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES |
		LVS_EX_HEADERDRAGDROP | LVS_EX_ONECLICKACTIVATE | LVS_EX_UNDERLINEHOT;
	m_listInType.SetExtendedStyle(dwExStyle);
	m_listExpType.SetExtendedStyle(dwExStyle);
	//初始化收入類型列表框控件
	m_listInType.InsertColumn(0,"收入類型ID",LVCFMT_CENTER,80);
	m_listInType.InsertColumn(1,"收入類型名稱",LVCFMT_CENTER,200);
	//初始化支出類型列表框控件
	m_listExpType.InsertColumn(0,"支出類型ID",LVCFMT_CENTER,80);
	m_listExpType.InsertColumn(1,"支出類型名稱",LVCFMT_CENTER,200);
}

void CConfigView::InsertTypeItem(CListCtrl* pList, CString id, CString name)
{
	//獲取當前的紀錄條數(shù).
	int nIndex = pList->GetItemCount();
	LV_ITEM lvItem;
	lvItem.mask = LVIF_TEXT ;	
	lvItem.iItem = nIndex;				//行數(shù)
	lvItem.iSubItem = 0;
	lvItem.pszText = (char*)(LPCTSTR)id;		//第一列
	//在最后一行插入記錄值.
	pList->InsertItem(&lvItem);	
	//設置該行的其他列的值.
	pList->SetItemText(nIndex,1,name);
}

void CConfigView::OnBtnDbcon() 
{
	// TODO: Add your control notification handler code here
	CString sql;
	sql.Format("Provider=SQLOLEDB.1;Password=%s;"
		  "Persist Security Info=True;User ID=%s;"
		  "Initial Catalog=%s;Data Source=%s",
		  m_strPwd,m_strUser,m_strDBName,m_strServer);
	//建立數(shù)據(jù)庫的連接和加載數(shù)據(jù)
	if(g_adoDB.Open(sql) == TRUE)
		InitCtrlData();
}

void CConfigView::InitCtrlData()
{
	m_listInType.DeleteAllItems();
	m_listExpType.DeleteAllItems();
	CDStrs InFields,ExpFields;
	//獲取收入類型數(shù)據(jù)
	g_adoDB.ExecuteQuery("Select * from in_type_tab order by id",InFields);
	for(int i = 0 ; i < InFields.size() ; i++)
	{
		CStrs strs = InFields[i];
		InsertTypeItem(&m_listInType,strs[0],strs[1]);
	}
	//獲取支出類型數(shù)據(jù)
	g_adoDB.ExecuteQuery("Select * from exp_type_tab order by id",ExpFields);
	for(i = 0 ; i < ExpFields.size() ; i++)
	{
		CStrs strs = ExpFields[i];
		InsertTypeItem(&m_listExpType,strs[0],strs[1]);
	}
}

void CConfigView::OnBtnInAdd() 
{
	// TODO: Add your control notification handler code here
	if(!UpdateData())
		return;
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	if(m_strInType.IsEmpty())
		return;
	CString strID ;
	//獲取最大的收入類型ID
	g_adoDB.ExecuteQueryValue("Select max(id) "
		"from in_type_tab",strID);
	int newID = atoi(strID)+1;
	//插入新的類型信息
	CString sql ;
	sql.Format("Insert into in_type_tab(id,"
		"name) "
		"VALUES("
		"%d,'%s')",newID,m_strInType);
	g_adoDB.Execute(sql);
	InsertTypeItem(&m_listInType,Int2Str(newID),m_strInType);
}

void CConfigView::OnBtnInMod() 
{
	// TODO: Add your control notification handler code here
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	if(!UpdateData())
		return;
	//獲取要修改類型信息
	int nItem = m_listInType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem != -1){
		//獲取要修改的收入類型ID.
		CString id = m_listInType.GetItemText(nItem,0);
		CString sql;
		//更新收入類型信息. 
		sql.Format("update in_type_tab "
			"set name = '%s'  "
			"where id = %d",m_strInType,atoi(id));
		TRACE(sql);	
		g_adoDB.Execute(sql);
		m_listInType.SetItemText(nItem,1,m_strInType);
	}			
}

void CConfigView::OnBtnInDel() 
{
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	int nItem = m_listInType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem == -1){
		AfxMessageBox("沒有選定要刪除的收入類型信息");
		return;
	}
	//獲取選擇的收入類型ID.
	int id = atoi(m_listInType.GetItemText(nItem,0));	
	CString sql;
	//刪除選擇的收入類型信息
	sql.Format("delete from in_type_tab where id = %d",id);
	g_adoDB.Execute(sql);
	m_listInType.DeleteItem(nItem);		
}

void CConfigView::OnBtnExpAdd() 
{
	// TODO: Add your control notification handler code here
	if(!UpdateData())
		return;
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	if(m_strExpType.IsEmpty())
		return;
	CString strID ;
	//獲取最大的支出類型ID
	g_adoDB.ExecuteQueryValue("Select max(id) "
		"from exp_type_tab",strID);
	int newID = atoi(strID)+1;
	//插入新的類型信息
	CString sql ;
	sql.Format("Insert into exp_type_tab(id,"
		"name) "
		"VALUES("
		"%d,'%s')",newID,m_strExpType);
	g_adoDB.Execute(sql);
	InsertTypeItem(&m_listExpType,Int2Str(newID),m_strExpType);	
}

void CConfigView::OnBtnExpMod() 
{
	// TODO: Add your control notification handler code here
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	if(!UpdateData())
		return;
	//獲取要修改類型信息
	int nItem = m_listExpType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem != -1){
		//獲取要修改的支出類型ID.
		CString id = m_listExpType.GetItemText(nItem,0);
		CString sql;
		//更新支出類型信息. 
		sql.Format("update exp_type_tab "
			"set name = '%s'  "
			"where id = %d",m_strExpType,atoi(id));
		TRACE(sql);	
		g_adoDB.Execute(sql);
		m_listExpType.SetItemText(nItem,1,m_strExpType);
	}				
}

void CConfigView::OnBtnExpDel() 
{
	if(!g_adoDB.IsOpen()){
		AfxMessageBox("數(shù)據(jù)庫未打開");
		return;
	}
	int nItem = m_listExpType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem == -1){
		AfxMessageBox("沒有選定要刪除的支出類型信息");
		return;
	}
	//獲取選擇的支出類型ID.
	int id = atoi(m_listExpType.GetItemText(nItem,0));	
	CString sql;
	//刪除選擇的支出類型信息
	sql.Format("delete from exp_type_tab where id = %d",id);
	g_adoDB.Execute(sql);
	m_listExpType.DeleteItem(nItem);		
}

void CConfigView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();	
	//初始化列表框控件	
	InitControl();	
}

void CConfigView::OnClickListExp(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int nItem = m_listExpType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem != -1){
		//從列表框控件中獲取選擇的類型信息.
		CString name = m_listExpType.GetItemText(nItem,1);
		//將選擇的類型信息顯示到收入類型文本框中
		GetDlgItem(IDC_EDIT_EXP)->SetWindowText(name);
	}		
	*pResult = 0;
}

void CConfigView::OnClickListIn(NMHDR* pNMHDR, LRESULT* pResult) 
{
	// TODO: Add your control notification handler code here
	int nItem = m_listInType.GetNextItem(-1, LVNI_SELECTED);
	if(nItem != -1){
		//從列表框控件中獲取選擇的類型信息.
		CString name = m_listInType.GetItemText(nItem,1);
		//將選擇的類型信息顯示到收入類型文本框中
		GetDlgItem(IDC_EDIT_IN)->SetWindowText(name);
	}			
	*pResult = 0;
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品处破学生在线二十三| 97aⅴ精品视频一二三区| 精品一区二区日韩| 欧洲激情一区二区| 国产午夜精品久久久久久免费视 | 26uuu另类欧美| 亚洲成人综合网站| av色综合久久天堂av综合| 欧美草草影院在线视频| 午夜一区二区三区在线观看| 成人精品免费视频| 欧美成人综合网站| 日产国产欧美视频一区精品 | 欧美一级理论性理论a| 亚洲蜜臀av乱码久久精品蜜桃| 国产一区二区导航在线播放| 欧美一区二区免费视频| 午夜精品久久久久久久久| 欧洲激情一区二区| 夜夜嗨av一区二区三区四季av | 在线免费观看成人短视频| 精品国产精品一区二区夜夜嗨| 亚洲小少妇裸体bbw| 成人免费毛片片v| 国产亚洲精品福利| 国产美女视频一区| 久久人人97超碰com| 国产综合成人久久大片91| 欧美tk丨vk视频| 日韩成人精品视频| 精品精品国产高清a毛片牛牛 | 亚洲精品在线免费观看视频| 天天av天天翘天天综合网| 欧美网站一区二区| 亚洲成人av在线电影| 欧美一区二区女人| 国产在线播放一区三区四| 久久久久久久一区| 欧美图片一区二区三区| 一区二区三区在线观看欧美| 色狠狠桃花综合| 亚洲成a天堂v人片| 精品国产区一区| 九九国产精品视频| 亚洲欧洲日产国码二区| 91免费视频网址| 亚洲国产综合91精品麻豆| 在线播放欧美女士性生活| 久久疯狂做爰流白浆xx| 久久免费电影网| 色综合久久99| 男女性色大片免费观看一区二区| 日韩久久免费av| 粉嫩av一区二区三区| 亚洲欧美乱综合| 91精品国产美女浴室洗澡无遮挡| 黄色日韩三级电影| 亚洲欧美日韩国产另类专区 | 91美女片黄在线| 日韩精品91亚洲二区在线观看| 欧美一级高清大全免费观看| 国产成人精品免费一区二区| 亚洲免费成人av| 日韩午夜激情电影| 成人午夜精品在线| 天涯成人国产亚洲精品一区av| 久久久久久免费毛片精品| 色狠狠av一区二区三区| 麻豆精品一二三| 亚洲精品综合在线| 亚洲精品在线一区二区| 欧洲精品中文字幕| 成人手机在线视频| 日韩不卡一二三区| 亚洲人精品午夜| 久久一二三国产| 欧美体内she精高潮| 成人一区在线看| 奇米一区二区三区av| 一区二区三区蜜桃网| 久久免费美女视频| 日韩欧美卡一卡二| 欧美日韩一区二区三区免费看| 粉嫩嫩av羞羞动漫久久久 | 樱花影视一区二区| 欧美国产丝袜视频| 日韩区在线观看| 欧美麻豆精品久久久久久| av网站一区二区三区| 国产高清精品网站| 精品一区二区三区视频| 午夜精品免费在线观看| 亚洲影院在线观看| 最新国产成人在线观看| 国产精品女主播av| 国产亚洲精品bt天堂精选| 日韩欧美国产高清| 欧美一区二区三区视频在线观看 | 亚洲成人免费观看| 亚洲男人的天堂在线观看| 中文字幕av免费专区久久| 欧美tickling网站挠脚心| 欧美日韩一区二区三区四区| 色吊一区二区三区| 91丝袜国产在线播放| 成人一区二区三区视频| 成人精品高清在线| 99久久精品99国产精品| av中文字幕不卡| 99久久99久久精品免费看蜜桃| 成人综合在线视频| 成人精品视频.| av电影一区二区| 色香色香欲天天天影视综合网| 色综合中文综合网| 日本亚洲欧美天堂免费| 午夜精品久久久久久久久久久| 亚洲chinese男男1069| 视频一区二区欧美| 日韩激情中文字幕| 免费看黄色91| 国产精品91xxx| 岛国精品在线播放| 色婷婷亚洲精品| 欧美日韩国产综合一区二区 | 国产精品久久毛片a| ㊣最新国产の精品bt伙计久久| 亚洲欧美乱综合| 日本不卡不码高清免费观看| 美腿丝袜在线亚洲一区| 国产麻豆9l精品三级站| 一本色道a无线码一区v| 在线播放中文一区| 国产午夜精品一区二区三区嫩草 | 97久久超碰精品国产| 欧美日韩专区在线| 日韩精品在线看片z| 国产精品久久久爽爽爽麻豆色哟哟 | 成人激情免费视频| 欧美色涩在线第一页| 精品剧情v国产在线观看在线| 中文字幕不卡在线观看| 午夜精品123| 国产91露脸合集magnet| 欧美午夜视频网站| 久久亚洲影视婷婷| 精品欧美久久久| 精品一区二区在线看| 国产精品亚洲а∨天堂免在线| 成人丝袜18视频在线观看| 欧美专区日韩专区| 国产调教视频一区| 亚洲成人一二三| 国产v综合v亚洲欧| 欧美精品vⅰdeose4hd| 国产校园另类小说区| 午夜av电影一区| 不卡的av网站| 精品国产自在久精品国产| 自拍偷拍国产精品| 韩国一区二区在线观看| 欧美中文字幕不卡| 日本一二三四高清不卡| 青青草精品视频| 色综合久久精品| 国产丝袜在线精品| 久久国产福利国产秒拍| 在线免费精品视频| 国产精品欧美久久久久无广告 | 综合中文字幕亚洲| 国产一区二区福利视频| 欧美精品第1页| 亚洲精品成人少妇| 成人一区二区在线观看| 成人一级片网址| 51精品视频一区二区三区| 中文字幕色av一区二区三区| 激情综合网激情| 欧美久久久久久久久| 亚洲永久免费av| 一道本成人在线| 成人欧美一区二区三区小说| 黄色日韩网站视频| 精品国产免费一区二区三区四区 | 88在线观看91蜜桃国自产| 国产欧美一区二区精品性色| 亚洲成人先锋电影| 欧美午夜精品久久久久久孕妇| 欧美国产亚洲另类动漫| 国产成人福利片| 国产欧美精品一区二区三区四区 | 国产夜色精品一区二区av| 91一区二区在线| 中文久久乱码一区二区| 成人午夜电影久久影院| 国产欧美一区二区精品仙草咪| 国产精品99久久久久久久女警| 26uuu精品一区二区三区四区在线| 久久av中文字幕片| 精品国产网站在线观看|