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

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

?? bmdialog.cpp

?? 界面結構采用現在數據處理軟件常用的MDI形式...... 數據庫密碼:score
?? CPP
字號:
// BMDialog.cpp : 實現文件
//

#include "stdafx.h"
#include "StudentScore.h"
#include "BMDialog.h"


// CBMDialog 對話框

IMPLEMENT_DYNAMIC(CBMDialog, CDialog)
CBMDialog::CBMDialog(CWnd* pParent /*=NULL*/)
	: CDialog(CBMDialog::IDD, pParent)
{
}

CBMDialog::~CBMDialog()
{
}

void CBMDialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
}


BEGIN_MESSAGE_MAP(CBMDialog, CDialog)
	ON_BN_CLICKED(IDOK, OnBnClickedOk)
	ON_WM_DESTROY()
	ON_BN_CLICKED(IDC_BUTTON1, OnAddRec)
END_MESSAGE_MAP()


// CBMDialog 消息處理程序

BOOL CBMDialog::OnInitDialog()
{
	CDialog::OnInitDialog();

	// TODO:  在此添加額外的初始化
	//動態創建組件
	CFieldRecord* pRecord;
	int top=0;
	for(int i=1;i<=this->RecordArray.GetSize();i++)
	{
		
        top=(i-1)*22; 
        pRecord=(CFieldRecord*)RecordArray.GetAt(i-1); 
        this->CreateStatic(pRecord,top,70+i);
	
		if((pRecord->IsBool)||(pRecord->pFK!=NULL))//布爾或有關聯外鍵
		{
			this->CreateCombo(pRecord,top,10+i);
 		}
		else
		{
	        this->CreateEdit(pRecord,top,10+i);
		}

	}

	CWnd* pWnd;
	CRect rect;
	
	pWnd=this->GetDlgItem(IDC_BUTTON1);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);

	pWnd=this->GetDlgItem(IDOK);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);
    
	pWnd=this->GetDlgItem(IDCANCEL);
    pWnd->GetWindowRect(&rect);
	rect.top=top+30;
	rect.bottom=rect.top+25;
	pWnd->MoveWindow(&rect);
    
	this->GetWindowRect(&rect);
	int width=rect.right-rect.left; 
    this->MoveWindow(rect.left,rect.top,width,top+100);  

	if(!this->ISADD)
	{
		this->GetDlgItem(IDC_BUTTON1)->EnableWindow(false);
	    this->SetWindowText("修改記錄");
	}
	else
	{   
		this->GetDlgItem(IDOK)->EnableWindow(false);
		this->GetDlgItem(IDCANCEL)->SetWindowText("關閉");
	    this->SetWindowText("添加記錄");
	}
	
	return TRUE;  // return TRUE unless you set the focus to a control
	// 異常:OCX 屬性頁應返回 FALSE
}


void CBMDialog::PostNcDestroy()
{

	CDialog::PostNcDestroy();
}

void CBMDialog::OnBnClickedOk()
{
	// TODO: 在此添加控件通知處理程序代碼
	//判斷添加內容(編輯框)是否為空
    this->SendChangeMsg();		
	OnOK();
}
//釋放創建的組件
void CBMDialog::FreeControls(void)
{
	CWnd *pWnd;
    for(int i=1;i<=this->RecordArray.GetSize();i++)
	{
		//釋放靜態框
	   	pWnd=this->GetDlgItem(70+i);
		if (pWnd)
		{
			pWnd->DestroyWindow();
			delete pWnd;
			pWnd=NULL;
		}
		//釋放文本框或其它
		pWnd=this->GetDlgItem(10+i);
		if(pWnd)
		{
			if (pWnd->IsKindOf(RUNTIME_CLASS(CComboBox)))
			{
			   CComboBox* pComboBox=(CComboBox*) pWnd;
			   void* p;
			   for(int j=0;j<pComboBox->GetCount();j++)
			   {
				   p=pComboBox->GetItemDataPtr(j);
				   if(p)
				   delete p;
			   }
               for(j=0;j<pComboBox->GetCount();j++)
			   {
			      	pComboBox->DeleteString(0);
			   }
			   
			}
			pWnd->DestroyWindow();
			delete pWnd;
			pWnd=NULL;		
		}
	}
	//釋放數組
    i=0;
	CFieldRecord* pRecord=NULL;
	while(i<this->RecordArray.GetSize()) 
	{
      pRecord=(CFieldRecord*)RecordArray.GetAt(i); 
      if(pRecord->pFK)//如果有外鍵,釋放外鍵
	  {
	     delete pRecord->pFK; 
	  }
	  delete pRecord;
	  i++;
   }
   this->RecordArray.RemoveAll();
}

void CBMDialog::OnFinalRelease()
{
	// TODO: 在此添加專用代碼和/或調用基類
	CDialog::OnFinalRelease();
}

void CBMDialog::OnDestroy()
{
    this->FreeControls();//釋放組件
	CDialog::OnDestroy();

	// TODO: 在此添加消息處理程序代碼
}

CString CBMDialog::GenerateInsertSql(void)
{
	CString sqlstr,fldlist,valuelist;
	CFieldRecord* pRecord;
	ASSERT(this->m_OprTblName!=""); 

	for(int i=0;i<this->RecordArray.GetSize();i++)
	{
       pRecord=	(CFieldRecord*)this->RecordArray.GetAt(i);
	   //獲得值
	   if (pRecord->IsBool)
	   {
		   if(_stricmp(pRecord->Value,"是")==0) 
		      valuelist=valuelist+"TRUE";
		   else if(_stricmp(pRecord->Value,"否")==0)
		     valuelist=valuelist+"FALSE";

	   }
	   else if(pRecord->IsStrType)
	   {
	      valuelist=valuelist+"'"+pRecord->Value+"'";
	   }
	   else
	   {
	      valuelist=valuelist+pRecord->Value; 
	   }
      //字段
	   fldlist=fldlist+pRecord->FieldName;
	   //判斷,
	   if(i!=this->RecordArray.GetSize()-1)
	   {
	      fldlist=fldlist+",";
		  valuelist=valuelist+",";
	   }
	}

	sqlstr="insert into "+this->m_OprTblName+"("+fldlist+") values("+valuelist+")";
	return sqlstr;
}

CString CBMDialog::GenerateUpdateSql(void)
{
	CString sqlstr,updatestr,valuelist,constr;
	CFieldRecord* pRecord;
	ASSERT(this->m_OprTblName!=""); 
	
	pRecord=(CFieldRecord*)this->RecordArray.GetAt(0);
    if(pRecord->IsStrType)
	{
	    valuelist="'";
		valuelist=valuelist+pRecord->Value;
		valuelist=valuelist+"'";
	}
	else
	{
	    valuelist=pRecord->Value; 
	}
    constr="where ";
	constr=constr+pRecord->FieldName+"="+valuelist; 

	for(int i=1;i<this->RecordArray.GetSize();i++)
	{
       pRecord=	(CFieldRecord*)this->RecordArray.GetAt(i);
	   //獲得值
	   if (pRecord->IsBool)
	   {
		   if(_stricmp(pRecord->Value,"是")==0) 
		      valuelist="TRUE";
		   else if(_stricmp(pRecord->Value,"否")==0)
		     valuelist="FALSE";

	   }
	   else if(pRecord->IsStrType)
	   {
		  valuelist="'";
		  valuelist=valuelist+pRecord->Value;
		  valuelist=valuelist+"'";
	   }
	   else
	   {
	      valuelist=pRecord->Value; 
	   }
      //字段
	   updatestr=updatestr+pRecord->FieldName+"="+valuelist;
	   //判斷,
	   if(i!=this->RecordArray.GetSize()-1)
	   {
	      updatestr=updatestr+",";
	   }
	}

	sqlstr="update "+this->m_OprTblName+" set "+updatestr+" "+constr;
	return sqlstr;
}

void CBMDialog::OnAddRec()
{
	// TODO: 在此添加控件通知處理程序代碼
	this->SendChangeMsg();	
}
void CBMDialog::CreateStatic(CFieldRecord* pRecord,int top,UINT CtlID)
{  	
	CStatic *pText;
    pText=new CStatic();
    pText->Create(pRecord->FieldName, WS_CHILD|WS_VISIBLE|SS_CENTER, 
                   CRect(10,2+top, 110, 23+top), this,CtlID);
	pText->ShowWindow(SW_SHOW);
	pText->SetFont(this->GetFont());
}
void CBMDialog::CreateCombo(CFieldRecord* pRecord,int top,UINT CtlID)
{
	CComboBox* pCombo;
    pCombo=new CComboBox();
	pCombo->Create(WS_CHILD|WS_VISIBLE|WS_VSCROLL|CBS_DROPDOWNLIST,
		        CRect(110,2+top, 250, 230+top), this, CtlID);
	pCombo->ShowWindow(SW_SHOW);
    pCombo->SetFont(this->GetFont());
	if(pRecord->IsBool)
	{
		pCombo->AddString("是");
		pCombo->AddString("否");
		if(this->ISADD)
		{
			pCombo->SetCurSel(0);
		}
		else//不是新增加
		{
			if(_stricmp(pRecord->Value,"TRUE")==0)
			{
				pCombo->SetCurSel(0);
			}
			else
			{
				pCombo->SetCurSel(1);
			}
		}
	}
	else//有外鍵
	{
		this->FillComboByDS(pRecord,pCombo);
	}
}
void CBMDialog::CreateEdit(CFieldRecord* pRecord,int top,UINT CtlID)
{
	    CEdit *pEdit;
	  	pEdit=new CEdit();
    	pEdit->Create(ES_MULTILINE | WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,
		            CRect(110,2+top, 250, 23+top), this, CtlID);
		pEdit->ShowWindow(SW_SHOW);
	    pEdit->SetWindowText(pRecord->Value);
		pEdit->SetFont(this->GetFont());
}
void CBMDialog::FillComboByDS(CFieldRecord* pRecord,CComboBox* pCombo)
{
	if(pRecord->pFK==NULL)
		return;
	storage1.OpenSql(pRecord->pFK->FKtbl);
	int count=storage1.GetRecordCount();
	if(count==0)
		return;
	CFldValue* pValue ; //用于添加記錄指針
	CString value;      
	int index;         // 
	int selindex=-1;   //選擇的記錄(用于修改時)
	storage1.MoveFirst();

    for(int i=0;i<count;i++)
	{
	   pValue=new CFldValue();  
	   storage1.GetFieldValue(pRecord->pFK->FieldName,value);
       strcpy(pValue->FieldValue,value);
	   storage1.GetFieldValue(pRecord->pFK->DisplayName,value);
	   strcpy(pValue->DispalyFieldValue,value);
       index=pCombo->AddString(pValue->DispalyFieldValue);
	   pCombo->SetItemDataPtr(index,pValue);
	   //判斷當前選項
       if(_stricmp(pValue->FieldValue,pRecord->Value)==0)
		   selindex=index;
	   storage1.MoveNext();
	}
   
	//判斷
	if(this->ISADD)
	{
		pCombo->SetCurSel(0);
	}
	else//不是新增加,為修改時
	{
        pCombo->SetCurSel(selindex);
	}

}
//發送修改或添加消息
void CBMDialog::SendChangeMsg(void)
{
	CWnd* pWnd;
	CString value,Msg;
	CFieldRecord* pRecord;
	for(int i=1;i<=this->RecordArray.GetSize();i++)
	{ 
	  pWnd=this->GetDlgItem(10+i);

	  if(pWnd)
	  {
		 pRecord=(CFieldRecord*)RecordArray.GetAt(i-1);
	     if ((!pRecord->IsBool)&&pWnd->IsKindOf(RUNTIME_CLASS(CComboBox)))
			{  	 //非布爾類型,且有關聯字段時
			   CComboBox* pCombo=(CComboBox*) pWnd;
			   CFldValue* p;
			   int index=pCombo->GetCurSel();
			   p=(CFldValue*)pCombo->GetItemDataPtr(index);
			   value=p->FieldValue; 
			}
		 else
		 pWnd->GetWindowText(value);
		 value.TrimRight(); 
		 if(value=="")
		 {
           Msg=(CString)pRecord->FieldName+"不能為空!"; 
		   AfxMessageBox(Msg);
		   pWnd->SetFocus();
		   return;
		 }
		 else
		 {
			 if((i==1)&&(!this->ISADD))//如果是修改的話,則不對第一字段操作
			   {}
			 else
			   strcpy(pRecord->Value,value); 
		 }
	  }

	}
 
	//發送字符串
	CString cSend;
	if(this->ISADD)
	{ 
	    cSend=this->GenerateInsertSql();

	}
	else
	{
	     cSend=this->GenerateUpdateSql();
	}
	LPARAM lparam=(LPARAM)&cSend; 
	::SendMessage((HWND)this->m_hParent,WM_USER+51,0,lparam);  

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩一区二区视频在线观看| 国产日韩影视精品| 久久天堂av综合合色蜜桃网| 99久久精品免费看| 成人av网址在线| 成人精品在线视频观看| 国产精品香蕉一区二区三区| 福利一区在线观看| 国产成人啪免费观看软件| 国产精品99久| 国产精品一区二区在线播放| 麻豆91精品视频| 天堂一区二区在线| 日韩高清不卡一区二区三区| 日韩高清在线观看| 激情欧美一区二区三区在线观看| 美日韩一级片在线观看| 水蜜桃久久夜色精品一区的特点| 石原莉奈在线亚洲三区| 国产成人精品影视| 91丨九色丨蝌蚪富婆spa| 欧美日韩一区视频| 久久综合久久综合九色| 欧美激情一区二区三区| 亚洲国产精品久久不卡毛片 | 亚洲成人中文在线| 久久99国产精品久久99果冻传媒| 国产不卡视频在线播放| 欧美性色综合网| 国产欧美日韩卡一| 日韩一区欧美二区| 成人app在线| 精品粉嫩aⅴ一区二区三区四区| 国产精品三级电影| 久久aⅴ国产欧美74aaa| 成人免费不卡视频| 日韩欧美在线网站| 亚洲图片欧美色图| 99久久婷婷国产综合精品电影 | 国产成人在线视频播放| 在线观看日韩高清av| 久久久精品蜜桃| 日韩精品国产欧美| av亚洲精华国产精华| 日韩一区二区在线免费观看| 亚洲国产日韩a在线播放性色| 成人网在线免费视频| 国产欧美日韩激情| 国产最新精品精品你懂的| 欧美日本高清视频在线观看| 国产精品久久久久桃色tv| 国产激情视频一区二区在线观看 | 亚洲欧美中日韩| 成人小视频免费观看| 国产亚洲精品aa午夜观看| 久久se精品一区二区| 精品国产一区二区三区不卡 | 久久超碰97人人做人人爱| 日韩欧美色电影| 成人av资源网站| 亚洲成人资源网| 久久综合一区二区| 91麻豆高清视频| 六月丁香婷婷久久| 国产精品国产三级国产有无不卡 | 久久国内精品视频| 国产精品久久久久精k8| 欧美在线观看18| 国产在线不卡视频| 亚洲免费在线播放| 欧美成人精品3d动漫h| 色呦呦日韩精品| 国产精品一二三四区| 亚洲一区视频在线| 中文字幕精品一区二区三区精品| 欧美无乱码久久久免费午夜一区 | 亚洲一区视频在线| 国产日韩三级在线| 日韩欧美国产系列| 91豆麻精品91久久久久久| 国产成a人无v码亚洲福利| 日本网站在线观看一区二区三区| 国产精品国产三级国产aⅴ原创 | 久久精工是国产品牌吗| 一个色在线综合| 中文字幕欧美一区| 国产欧美久久久精品影院| 日韩美女一区二区三区四区| 欧美天天综合网| 91丨九色丨国产丨porny| 国产福利一区在线观看| 久热成人在线视频| 免费成人美女在线观看.| 日韩高清中文字幕一区| 天天色天天操综合| 亚洲成av人影院在线观看网| 亚洲国产一区视频| 亚洲国产精品久久艾草纯爱| 亚洲色图在线播放| 亚洲精品水蜜桃| 亚洲二区在线视频| 亚洲国产成人porn| 无码av免费一区二区三区试看| 亚洲免费三区一区二区| 亚洲精品网站在线观看| 亚洲国产精品一区二区久久| 天堂av在线一区| 精品一区二区三区在线视频| 国产一区二区在线观看免费 | 国产精品色婷婷久久58| 日韩理论片在线| 天堂精品中文字幕在线| 精品一区二区三区欧美| 国产成人亚洲精品青草天美| 粉嫩aⅴ一区二区三区四区| 91丨porny丨户外露出| 欧美日韩一区不卡| 久久精品一区四区| 一区二区激情小说| 奇米一区二区三区| 99re视频精品| 欧美电影免费观看高清完整版在线| 欧美精品一区二区三区在线播放| 中文字幕 久热精品 视频在线| 亚洲中国最大av网站| 国产在线精品一区二区夜色| 色天使久久综合网天天| 精品国产成人在线影院| 亚洲一区二区三区精品在线| 国产麻豆91精品| 91精选在线观看| 亚洲午夜三级在线| 国产麻豆成人精品| 91精品国产一区二区三区| 亚洲特级片在线| 成人精品免费看| 精品久久久影院| 日韩精品一级二级| 色狠狠色狠狠综合| 中文在线一区二区| 久久99国产精品久久| 欧美一级免费观看| 午夜精品一区在线观看| 日本乱码高清不卡字幕| 国产精品视频一二三区| 国产精一区二区三区| 日韩精品最新网址| 青青草视频一区| 日韩精品一区二区三区视频在线观看| 亚洲一区在线观看视频| 欧美性受xxxx黑人xyx| 亚洲国产综合视频在线观看| 91丨porny丨国产入口| 中文字幕一区二区三区av| 成人小视频在线观看| 亚洲色欲色欲www| 欧美性高清videossexo| 亚洲一区二区三区国产| 欧美精品第1页| 久久99精品久久久| 国产精品视频一二三区 | 欧美一级专区免费大片| 奇米888四色在线精品| 久久伊人蜜桃av一区二区| 国产在线精品视频| 1024国产精品| 欧美日韩国产成人在线免费| 美女一区二区视频| 欧美国产日韩在线观看| 色婷婷激情一区二区三区| 蜜臀久久99精品久久久久久9| 久久亚洲私人国产精品va媚药| 成人av网站免费观看| 天天综合色天天| 国产欧美日韩在线观看| 色婷婷av一区二区三区软件| 美女免费视频一区二区| 国产精品毛片无遮挡高清| 在线成人小视频| www.一区二区| 日本系列欧美系列| 中文字幕亚洲一区二区va在线| 欧美美女一区二区| 不卡的av在线播放| 久久er精品视频| 亚洲成人激情综合网| 中文字幕精品三区| 制服.丝袜.亚洲.另类.中文| 不卡的av在线| 国产一区美女在线| 午夜精品久久久久久久99樱桃| 欧美激情一区二区三区四区| 日韩欧美国产一二三区| 色婷婷久久久综合中文字幕| 国产一区二区三区在线观看免费| 日韩和的一区二区| 夜夜嗨av一区二区三区四季av | 日韩和欧美的一区| 亚洲激情图片一区| 欧美一区二区日韩一区二区|