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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mainfrm.cpp

?? 點(diǎn)歌系統(tǒng)
?? CPP
字號:
// MainFrm.cpp : implementation of the CMainFrame class
//

#include "stdafx.h"
#include "songserver.h"
#include "MainFrm.h"

#include "Login.h"
#include "UserManage.h"
#include "SongManage.h"
#include "ConnectDB.h"
#include "BackupRestoreDB.h"

#include "SonglistView.h"
#include "ServerSocket.h"


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

/////////////////////////////////////////////////////////////////////////////
// CMainFrame

IMPLEMENT_DYNCREATE(CMainFrame, CFrameWnd)

BEGIN_MESSAGE_MAP(CMainFrame, CFrameWnd)
	//{{AFX_MSG_MAP(CMainFrame)
	ON_WM_CREATE()
	ON_COMMAND(ID_Admin, OnAdmin)
	ON_COMMAND(ID_User, OnUser)
	ON_COMMAND(ID_ConnectDB, OnConnectDB)
	ON_COMMAND(ID_CloseDB, OnCloseDB)
	ON_COMMAND(ID_BackupDB, OnBackupDB)
	ON_COMMAND(ID_RestoreDB, OnRestoreDB)
	ON_COMMAND(ID_Usermanage, OnUsermanage)
	ON_COMMAND(ID_SongManage, OnSongManage)
 	ON_COMMAND(ID_BeginServer, OnBeginServer)
	ON_COMMAND(ID_StopServer, OnStopServer)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

static UINT indicators[] =
{
	ID_SEPARATOR,           // status line indicator
	ID_INDICATOR_CAPS,
	ID_INDICATOR_NUM,
	ID_INDICATOR_SCRL,
};

/////////////////////////////////////////////////////////////////////////////
// CMainFrame construction/destruction

CMainFrame::CMainFrame()
{
	m_pConnectionPtr = NULL;
}

CMainFrame::~CMainFrame()
{
	OnCloseDB();
}

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
	if (CFrameWnd::OnCreate(lpCreateStruct) == -1)
		return -1;
	
	if (!m_wndToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_TOP
		| CBRS_GRIPPER | CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC) ||
		!m_wndToolBar.LoadToolBar(IDR_MAINFRAME))
	{
		TRACE0("Failed to create toolbar\n");
		return -1;      // fail to create
	}

	if (!m_wndStatusBar.Create(this) ||
		!m_wndStatusBar.SetIndicators(indicators,
		  sizeof(indicators)/sizeof(UINT)))
	{
		TRACE0("Failed to create status bar\n");
		return -1;      // fail to create
	}

	// TODO: Delete these three lines if you don't want the toolbar to
	//  be dockable
	m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY);
	EnableDocking(CBRS_ALIGN_ANY);
	DockControlBar(&m_wndToolBar);
	 
	m_MenuAdmin.LoadMenu(IDR_Admin);
	m_MenuDefault.Attach(::GetMenu(m_hWnd));	
  
 	return 0;
}

BOOL CMainFrame::OnCreateClient(LPCREATESTRUCT lpcs, CCreateContext* pContext) 
{
    if( !m_WndSplitter.CreateStatic(this, 1, 2) )
	{
		TRACE("create static faild\n");
		return false;
	}
	if( !m_WndSplitter.CreateView(0, 0, RUNTIME_CLASS(CSonglistView), CSize(150, 150), pContext) )
	{
		TRACE("create first view faild\n");
		return false;
	}
	if( !m_WndSplitter.CreateView(0, 1, pContext->m_pNewViewClass, CSize(0, 0), pContext) )
	{
		TRACE("create second view faild\n");
		return false;
	}

	m_WndSplitter.SetActivePane(0,1);
 
	return true;
}

BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
	if( !CFrameWnd::PreCreateWindow(cs) )
		return FALSE;
	// TODO: Modify the Window class or styles here by modifying
	//  the CREATESTRUCT cs

	cs.style = WS_OVERLAPPED | WS_CAPTION | FWS_ADDTOTITLE
		| WS_THICKFRAME | WS_SYSMENU | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_MAXIMIZE;
	
 	return TRUE;
}

/////////////////////////////////////////////////////////////////////////////
// CMainFrame diagnostics

#ifdef _DEBUG
void CMainFrame::AssertValid() const
{
	CFrameWnd::AssertValid();
}

void CMainFrame::Dump(CDumpContext& dc) const
{
	CFrameWnd::Dump(dc);
}

#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CMainFrame message handlers
//菜單操作
void CMainFrame::OnBeginServer() 
{
 	CServerSocket serversocket;
	serversocket.BeginServer();
}

void CMainFrame::OnStopServer() 
{
	CServerSocket serversocket;
	serversocket.StopServer();
}

void CMainFrame::OnAdmin() 
{
    CLogin login;
	if( login.DoModal() != IDOK )
		return;

	if( !m_addrecord.AdminLogin(login.GetUsername(), login.GetPassword()) )
	{
		AfxMessageBox("用戶名不存在,或密碼錯誤.");
		return;
	}

 	SetMenu(&m_MenuAdmin);
}

void CMainFrame::OnUser() 
{
    CLogin login;
	login.SetUserLevels(false);
	if( login.DoModal() != IDOK )
		return;

	if( !m_addrecord.UserLogin(login.GetUsername(), login.GetPassword()) )
	{
		AfxMessageBox("用戶名不存在.");
		return;
	}

	SetMenu(&m_MenuDefault);
}

void CMainFrame::OnConnectDB() 
{
  	CConnectDB condb;
	if(condb.DoModal() != IDOK)
		return;

	CString strsql;
	strsql.Format("driver={SQL Server};Server=%s;DATABASE=%s;UID=%s;PWD=%s;", \
			       condb.GetServerIP(), condb.GetDBName(), \
				   condb.GetUsername(), condb.GetPassword());
	try
	{
		OnCloseDB();
 		m_pConnectionPtr.CreateInstance(__uuidof(Connection));
		HRESULT hr=m_pConnectionPtr->Open((_bstr_t)strsql, "", "", adModeUnknown);

 		//將連接成功的指針傳給CAddRecord類
		m_addrecord.SetConnectionPtr(m_pConnectionPtr);
	}
	catch(_com_error e)
	{
		AfxMessageBox((CString)e.ErrorMessage() + " 連接數(shù)據(jù)庫失敗.");
		return;
	}

 	AfxMessageBox("連接成功.", MB_OK | MB_ICONINFORMATION);
}

void CMainFrame::OnCloseDB() 
{
	if(m_pConnectionPtr != NULL)
	{
		if(m_pConnectionPtr->State)
		{
			m_pConnectionPtr->Close();
			m_pConnectionPtr=NULL;
			CAddRecord m_addrecord;
			m_addrecord.SetConnectionPtr(m_pConnectionPtr);
		}
	}
}

void CMainFrame::OnBackupDB()  
{
	CBackupRestoreDB  backupdb;
 	if( backupdb.DoModal() != IDOK)
		return;
 
	OnCloseDB();

	_ConnectionPtr pConnectionPtr;

	try
	{
 		
		pConnectionPtr.CreateInstance(__uuidof(Connection));

		CString strsql;
		strsql.Format("driver={SQL Server};Server=127.0.0.1;DATABASE=master;UID=%s;PWD=%s;", \
			backupdb.GetUsername(), backupdb.GetPassword());

		pConnectionPtr->Open((_bstr_t)strsql, "", "", adModeUnknown);

  		strsql.Format("backup database %s to disk= '%s'", 
			backupdb.GetDatabasename(), backupdb.GetPathname());
 		pConnectionPtr->Execute((_bstr_t)strsql, NULL, adCmdText);
	}
	catch(_com_error e)
	{
		AfxMessageBox((CString)e.ErrorMessage() + " 備份數(shù)據(jù)庫失敗.");
		return;
	}

	pConnectionPtr->Close();
	AfxMessageBox("備份數(shù)據(jù)庫成功.", MB_OK | MB_ICONINFORMATION);
}

void CMainFrame::OnRestoreDB() 
{
	CBackupRestoreDB  restoredb;
	restoredb.SetDialogFlag(false);
	if( restoredb.DoModal() != IDOK)
		return;

	OnCloseDB();

	_ConnectionPtr pConnectionPtr;

	try
	{
		pConnectionPtr.CreateInstance(__uuidof(Connection));

		CString strsql;
		strsql.Format("driver={SQL Server};Server=127.0.0.1;DATABASE=master;UID=%s;PWD=%s;", \
			restoredb.GetUsername(), restoredb.GetPassword());

		pConnectionPtr->Open((_bstr_t)strsql, "", "", adModeUnknown);

  		strsql.Format("restore database %s from disk= '%s'", restoredb.GetDatabasename(), restoredb.GetPathname());
 		pConnectionPtr->Execute((_bstr_t)strsql, NULL, adCmdText);
	}
	catch(_com_error e)
	{
		AfxMessageBox((CString)e.ErrorMessage() + " 恢復(fù)數(shù)據(jù)庫失敗.");
		return;
	}

	pConnectionPtr->Close();
	AfxMessageBox("恢復(fù)數(shù)據(jù)庫成功.", MB_OK | MB_ICONINFORMATION);
}

void CMainFrame::OnUsermanage() 
{
	CUserManage m_Usermanage;
	m_Usermanage.DoModal();    		
}

void CMainFrame::OnSongManage() 
{
	CSongManage m_Songmanage;
	m_Songmanage.DoModal();
}
//菜單操作結(jié)束

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
夜夜爽夜夜爽精品视频| 久久久蜜桃精品| 亚洲高清视频中文字幕| 欧美午夜精品一区二区蜜桃| 亚洲第一久久影院| 欧美大片在线观看一区| 国产超碰在线一区| 亚洲三级视频在线观看| 欧洲一区二区三区在线| 奇米精品一区二区三区在线观看一 | 制服丝袜激情欧洲亚洲| 日本欧美大码aⅴ在线播放| 精品国产乱码久久久久久老虎| 国精产品一区一区三区mba视频| 国产片一区二区三区| 色美美综合视频| 日本女优在线视频一区二区 | 国产丝袜在线精品| 91在线云播放| 麻豆国产精品视频| 国产精品国产精品国产专区不片| 在线精品视频免费观看| 国产一区二区精品久久91| 亚洲精品视频免费看| 日韩一区二区三区视频| 成人国产精品视频| 日韩电影在线免费| 日韩毛片在线免费观看| 欧美一区二区三区系列电影| 成人性生交大片免费看中文 | 六月丁香婷婷久久| 亚洲天天做日日做天天谢日日欢 | 欧美国产精品一区二区| 在线看国产一区二区| 国产一区二区免费视频| 夜夜精品视频一区二区| 久久嫩草精品久久久精品一| 在线看国产日韩| 成人av网址在线观看| 毛片基地黄久久久久久天堂| 亚洲精品视频免费看| 国产亚洲短视频| 日韩一区二区视频在线观看| 色婷婷亚洲精品| 成人在线视频首页| 看国产成人h片视频| 亚洲成人免费看| 中文字幕在线观看一区| 亚洲精品在线免费观看视频| 欧美三电影在线| 91浏览器在线视频| www.欧美.com| 成人动漫一区二区三区| 久久99精品一区二区三区三区| 亚洲综合自拍偷拍| 中文字幕日本不卡| 国产精品久久久久久亚洲毛片 | 成人app软件下载大全免费| 看片的网站亚洲| 午夜免费久久看| 亚洲成人综合网站| 一区二区三区国产精品| 成人欧美一区二区三区小说 | 久久99这里只有精品| 亚洲人成伊人成综合网小说| 久久精品亚洲精品国产欧美kt∨| 欧美一级高清片| 51精品秘密在线观看| 欧美日韩国产天堂| 欧美伦理影视网| 欧美一区二区三区不卡| 5566中文字幕一区二区电影| 欧美日韩国产一级片| 欧美性受xxxx黑人xyx性爽| 欧美性大战久久久久久久| 91黄色免费网站| 欧美日韩国产影片| 欧美一区二区视频在线观看2022| 欧美精品1区2区3区| 欧美一级生活片| 欧美不卡一二三| 久久久美女毛片| 欧美经典三级视频一区二区三区| 国产欧美日韩精品一区| 国产精品乱码一区二区三区软件| 日本一区二区综合亚洲| |精品福利一区二区三区| **欧美大码日韩| 亚洲高清在线精品| 麻豆免费精品视频| 国产成人av电影| 91免费在线看| 欧美日韩成人一区| 欧美大尺度电影在线| 久久久久综合网| 亚洲欧美偷拍卡通变态| 亚洲123区在线观看| 美女一区二区视频| caoporen国产精品视频| 欧洲中文字幕精品| 精品国产成人在线影院| 久久精品人人做人人爽人人| 中文字幕欧美一区| 日产欧产美韩系列久久99| 国产在线播精品第三| 99久久久久久| 欧美一激情一区二区三区| 久久九九影视网| 亚洲一级片在线观看| 久久se精品一区二区| 97精品久久久久中文字幕| 91麻豆精品国产自产在线 | 6080午夜不卡| 国产日产欧产精品推荐色| 亚洲伦在线观看| 精品一区二区在线观看| a级精品国产片在线观看| 777色狠狠一区二区三区| 国产女同互慰高潮91漫画| 婷婷综合五月天| 成人免费黄色在线| 欧美sm美女调教| 亚洲一区二区三区四区不卡| 国产二区国产一区在线观看| 欧美日本一区二区| 亚洲色欲色欲www在线观看| 六月丁香婷婷久久| 欧美日韩另类一区| 亚洲欧洲另类国产综合| 4438亚洲最大| 中文字幕一区二区在线播放| 麻豆精品在线播放| 欧美在线色视频| 国产精品理论片| 国产一区二区女| 欧美一区二区三区免费| 夜夜嗨av一区二区三区| 国产成人精品网址| 日韩午夜小视频| 亚洲第一在线综合网站| 91老司机福利 在线| 国产亚洲福利社区一区| 久久激情五月婷婷| 欧美日韩国产乱码电影| 怡红院av一区二区三区| 成人高清视频免费观看| 久久久激情视频| 久草精品在线观看| 日韩欧美一区二区在线视频| 亚洲一区国产视频| 91国偷自产一区二区开放时间 | 国产精品18久久久久久久久久久久 | 久久精品欧美一区二区三区麻豆| 婷婷久久综合九色国产成人| 欧洲精品在线观看| 亚洲激情一二三区| 91极品美女在线| 一区二区三区国产精华| 欧洲一区二区三区免费视频| 亚洲精品乱码久久久久久| 91香蕉视频污| 亚洲免费色视频| 色综合视频在线观看| 亚洲精品免费看| 欧美调教femdomvk| 亚洲国产日日夜夜| 欧美男女性生活在线直播观看| 亚洲午夜在线视频| 在线不卡免费欧美| 日本亚洲三级在线| 亚洲精品一区二区在线观看| 久久精品久久99精品久久| 久久色中文字幕| 国产成人av一区二区| 国产精品区一区二区三区| 99r国产精品| 亚瑟在线精品视频| 日韩精品一区二区三区三区免费| 韩国三级中文字幕hd久久精品| 国产亚洲欧美激情| 91在线国产观看| 亚洲大型综合色站| 欧美videofree性高清杂交| 国产精品一品二品| 亚洲欧美日韩系列| 欧美男人的天堂一二区| 久久国产麻豆精品| 国产精品国产三级国产aⅴ无密码 国产精品国产三级国产aⅴ原创 | 九色porny丨国产精品| 久久精品视频网| 色天天综合色天天久久| 日韩av午夜在线观看| 久久精品欧美一区二区三区麻豆 | 国产大陆精品国产| 亚洲人午夜精品天堂一二香蕉| 欧美日韩中文国产| 激情文学综合插| 亚洲精品一卡二卡| 精品国产一区二区精华| eeuss鲁一区二区三区|