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

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

?? user.cpp

?? 學生成績管理系統的vc實現
?? CPP
字號:
// User.cpp : 實現文件
//

#include "stdafx.h"
#include "StudentScore.h"
#include "User.h"

//CADOStorage
CADOStorage::CADOStorage():CADODataset()
{ 
	this->SetConnection(theApp.m_pDBCon);
}
CADOStorage::~CADOStorage()
{

}
void CADOStorage::ExecInsertSql(CString TblName,CString Fldlist,CString ValueList)
{
	CString Sqlstr;
	Sqlstr="Insert into "+TblName+" ("+Fldlist+") values("+ValueList+")";
    this->ExecSql(Sqlstr);
}
void CADOStorage::ExecUpdateSql(CString TblName,CString UpdateStr,CString Constr)
{
	CString Sqlstr;
	Sqlstr="UPdate "+TblName+" set "+UpdateStr+" "+Constr;
    this->ExecSql(Sqlstr);
}
void CADOStorage::ExceDeleteSql(CString TblName,CString Constr)
{
	CString Sqlstr;
	Sqlstr="delete from "+TblName+" "+Constr;
    this->ExecSql(Sqlstr);
}
// CUser

CUser::CUser()
{ 	
	this->m_pStorage=NULL; 
    this->m_TblName="SysUser"; 
	m_pStorage=new CADOStorage();
    ASSERT(this->m_pStorage!=NULL);
	 
	this->m_pStorage->OpenSql(this->m_TblName); 
	
}

CUser::~CUser()
{
	if (m_pStorage!=NULL)
	{
	  delete m_pStorage;
	  this->m_pStorage=NULL; 
	}
	/*
	POSITION p=this->m_NameList.GetHeadPosition();
    while(p)
    {
       delete this->m_NameList.GetNext(p);
   	}
	*/
    this->m_NameList.RemoveAll(); 
}
void CUser::GetUserNames()
{ 
  CString name;
  POSITION p=this->m_NameList.GetHeadPosition();
  
 this->m_NameList.RemoveAll();  
  this->m_pStorage->MoveFirst();
  while(!this->m_pStorage->IsEof())
  {
	  this->m_pStorage->GetFieldValue("用戶名",name); 
      this->m_NameList.AddTail(name);
	  this->m_pStorage->MoveNext(); 
  }
 
}
// CUser 成員函數
bool CUser::Check(CString UserName,CString Password)
{
	this->m_pStorage->OpenSql(this->m_TblName,"*","where 用戶名='"+UserName+"'");  
	this->m_pStorage->GetFieldValue("秘碼",this->m_Password);
    if(this->m_Password==Password)
	{
	  this->m_pStorage->GetFieldValue("用戶名",this->m_UserName); 
	  this->m_pStorage->GetFieldValue("權限",this->m_Right);
	  this->m_LoginDate=CTime::GetCurrentTime(); 
	  return true;
	}
	else
	{
	  return false;
	}
}
//CBaseTbl
CBaseTbl::CBaseTbl()
{
	this->m_TblName="表說明"; 
}

CBaseTbl::~CBaseTbl()
{
}
void CBaseTbl::GetTblnames()
{
	this->m_TblList.RemoveAll();
    this->m_Storage.OpenSql(this->m_TblName,"中文名稱","where 表屬性=0","order by 編號");
	this->m_Storage.MoveFirst();
	CString name;
	while(!this->m_Storage.IsEof())
	{
		this->m_Storage.GetFieldValue(0,name);
        this->m_TblList.AddTail(name);
		this->m_Storage.MoveNext(); 
	}
}
bool CBaseTbl::SelectUnionTbl(CString StrTblname,CString& Realtbl,bool ByRealTblName)
{
	//1.選擇真是表名
	if(!ByRealTblName)
	{
	   this->m_Storage.OpenSql(this->m_TblName,"*","where 中文名稱='"+StrTblname+"'");
	   this->m_Storage.GetFieldValue("表名稱",Realtbl);
	}
	else
	{
	   this->m_Storage.OpenSql(this->m_TblName,"*","where 表名稱='"+Realtbl+"'");	
	}
    //2.生成聯合sql語句
	CString sqlstr;
	bool IsSingleTbl;
    this->m_Storage.GetFieldValue("獨立表",IsSingleTbl);
	if(IsSingleTbl)
	{
		sqlstr="select * from "+Realtbl;
	}
	else
	{
    	CString  ExtraTblname=Realtbl;//外部表字符串
		CString  FTblname;
    	CString  fldname;             //字段字符串
        CString  Dispfldname;
		CString  MKName,FKName;       //主字段,對應字段
		CString  ConStr;              //條件
		int      FKCount;             //外鍵個數
		this->m_Storage.GetFieldValue("外鍵個數",FKCount);
		sqlstr="select "+Realtbl+".* ";
		for(int i=0;i<FKCount;i++)
		{
            fldname="顯示字段"+IntToStr(i);
            this->m_Storage.GetFieldValue(fldname,Dispfldname);
            fldname="外部表"+IntToStr(i);
		    this->m_Storage.GetFieldValue(fldname,FTblname);
            fldname="字段"+IntToStr(i);
		    this->m_Storage.GetFieldValue(fldname,MKName);
            fldname="外鍵"+IntToStr(i);
		    this->m_Storage.GetFieldValue(fldname,FKName);
            
			sqlstr=sqlstr+","+FTblname+"."+Dispfldname+" ";
			ExtraTblname+=","+FTblname;
			if(i==0)
			{
			   ConStr+=Realtbl+"."+MKName+"="+FTblname+"."+FKName;
			}
			else
			{
			   ConStr+=" and "+Realtbl+"."+MKName+"="+FTblname+"."+FKName;
			}
		}
		sqlstr+=" from "+ExtraTblname+" where "+ConStr;
	}
	//3.查詢得出結果
	if(!Realtbl.IsEmpty()&&(Realtbl!=""))
	{
		this->m_Storage.Open(sqlstr,CADODataset::openQuery); 
    	  return true;
	}
	else
	 return false;
}

void CBaseTbl::RefreshList(CListCtrl& List1)
{
	if(this->m_Storage.IsOpen())
	{
	   this->m_Storage.FillList(List1);
	}
}
bool CBaseTbl::GetFieldRecord(CPtrArray& FieldArray,CString ctblname,CString constr) //單表記錄數組 
{
   ASSERT(ctblname!="");
   //1.判斷及清理工作
   if (this->m_Storage.IsOpen())
   {
     this->m_Storage.Close();
   }
   int ArrayCount=(int)FieldArray.GetSize();
   for(int j=0;j<ArrayCount;j++)
   {
      delete FieldArray.GetAt(j);
   }
   FieldArray.RemoveAll();

   CFieldRecord* fldrec;
   CADOFieldInfo fldinfo;
   CString fldvalue;
   //2.判斷記錄位置
   bool IsZeroRecord;//記錄數為0
   if(constr == "")//添加記錄
   {
     this->m_Storage.OpenSql(ctblname);
      if (this->m_Storage.GetRecordCount()>0)
	  {
         this->m_Storage.MoveLast();
		 IsZeroRecord=false;
	  }
	  else
		  IsZeroRecord=true;
   }
   else
   {
     this->m_Storage.OpenSql(ctblname,"*",constr);
	 if(this->m_Storage.GetRecordCount()>0)
	 {
		 this->m_Storage.MoveFirst();
		 IsZeroRecord=false;
	 }
	 else
	 {
		 IsZeroRecord=true;
	     return false;
	 }
   }
   int count=this->m_Storage.GetFieldCount();
   //3.添加字段記錄到指針數組
   for(int i=0;i<count;i++)
   {  
      fldrec=new CFieldRecord();
	  if(IsZeroRecord)
	  {
	     fldvalue="";
	  }
	  else
	  {
         this->m_Storage.GetFieldValue(i,fldvalue);
	  }
      this->m_Storage.GetFieldInfo(i,&fldinfo);
      strcpy(fldrec->FKtbl,ctblname);

	  strcpy(fldrec->FieldName,fldinfo.m_strName);
	  strcpy(fldrec->Value,fldvalue);
	  
	  switch(fldinfo.m_nType)
	  {
	      case VT_DATE:
			  fldrec->IsStrType=true;
			  fldrec->IsBool =false; 
		      break;
		  case VT_BSTR:
			  fldrec->IsStrType=true;
			  fldrec->IsBool =false; 
		      break;
		  case 202:
			  fldrec->IsStrType=true;
			  fldrec->IsBool =false; 
		      break;
		  case VT_BOOL:
              fldrec->IsBool=true;
			  fldrec->IsStrType=false; 
			  break;
		  default:
			  fldrec->IsStrType=false; 
              fldrec->IsBool =false;  
			  break;
   	  }
   fldrec->pFK=NULL; 	  
   fldrec->IsVisible=true;
   FieldArray.Add(fldrec);
   }
   //添加外鍵信息
   this->AddExtraFieldRecord(FieldArray,ctblname);
   return true;
}

bool CBaseTbl::RemoveRecord(int CurRecordPos)
{
	  if(!this->m_Storage.IsOpen())
	  {return false;} 
	  ASSERT(CurRecordPos>=0);
      if (this->m_Storage.GetRecordCount()>0) 
	  {
          this->m_Storage.MoveFirst();
		  while(CurRecordPos-->0)
		  { this->m_Storage.MoveNext();} 
	  }
	  this->m_Storage.Delete();
	  return true;
}

void CBaseTbl::ReQuery(CString TblName)
{
	this->m_Storage.OpenSql(TblName);
}
void CBaseTbl::ExecSql(CString SqlStr)
{
  this->m_Storage.ExecSql(SqlStr);
}

void CBaseTbl::AddExtraFieldRecord(CPtrArray& FieldArray,CString ctblname) 
{
   CADOStorage mk;
   CFieldRecord* fldrec;//外鍵信息指針
   CFieldRecord* pMfldrec;//主鍵信息指針
   mk.OpenSql("表說明","*","where 表名稱='"+ctblname+"'");
   if(mk.GetRecordCount()==0)
   {
      return ;
   }
   else
   {
      bool IsSingleTbl;
      mk.GetFieldValue("獨立表",IsSingleTbl);
	  if(IsSingleTbl)//是獨立表
	  {
	     return ;
	  }
	  else
	  {
		  //添加外鍵列表
          int fkcount=0;
          mk.GetFieldValue("外鍵個數",fkcount);
		  CString name,value;//
		  char a[10];
          for(int i=0;i<fkcount;i++)
		  { //添加外鍵列表
        	  fldrec=new CFieldRecord();
        	  itoa(i,a,10);
			  name="外鍵";
			  name=name+a;
		      mk.GetFieldValue(name,value);
			  strcpy(fldrec->FieldName,value); 
			  name="外部表";
    		  name=name+a;
		      mk.GetFieldValue(name,value);
			  strcpy(fldrec->FKtbl,value); 
			  name="顯示字段";
			  name=name+a;
              mk.GetFieldValue(name,value);
			  strcpy(fldrec->DisplayName ,value); 
              //確定	
			  name="字段";
			  name=name+a;
		      mk.GetFieldValue(name,value);
		      fldrec->pFK=NULL; 
			  //確定主字段,添加到鏈表尾部
			  for(int j=0;j<FieldArray.GetSize();j++)
			  {  
                 pMfldrec=(CFieldRecord*)FieldArray.GetAt(j);  
                 if(_stricmp(value,pMfldrec->FieldName)==0)
				 {
					 pMfldrec->pFK=fldrec;
                     break; 
				 }
			  }
			  
			   
		  }
	  }
   }

}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩高清一区二区| 欧美亚洲综合在线| 色av一区二区| 日韩免费在线观看| 亚洲精品中文字幕在线观看| 免费成人你懂的| 在线观看91视频| 日韩一区欧美小说| 国产精品白丝jk黑袜喷水| 欧美日韩精品一区二区天天拍小说 | 国产日本欧洲亚洲| 日韩激情av在线| 99国产精品99久久久久久| 久久久精品天堂| 蜜臀av性久久久久蜜臀av麻豆| 91福利视频久久久久| 国产精品免费丝袜| 国产精品1区2区| 精品国产髙清在线看国产毛片| 亚洲gay无套男同| 欧美色图12p| 亚洲一区二区三区四区五区中文| thepron国产精品| 国产日韩精品一区二区浪潮av| 日本sm残虐另类| 欧美福利一区二区| 亚洲一区二区三区小说| 在线观看一区不卡| 亚洲综合视频在线观看| 在线观看区一区二| 亚洲一区二区在线观看视频| 日本精品一区二区三区高清| 亚洲精品视频在线观看网站| 92国产精品观看| 亚洲精品乱码久久久久久日本蜜臀 | 91污片在线观看| 亚洲免费看黄网站| 91久久精品国产91性色tv | 亚洲一区二区三区国产| 欧洲激情一区二区| 午夜电影网亚洲视频| 91精品国产91久久久久久一区二区 | 欧美日韩精品系列| 三级影片在线观看欧美日韩一区二区 | 欧美日韩三级一区| 日韩精品1区2区3区| 欧美疯狂性受xxxxx喷水图片| 视频一区二区三区中文字幕| 欧美成人激情免费网| 精品一区二区三区蜜桃| 国产亚洲成aⅴ人片在线观看| 东方欧美亚洲色图在线| 亚洲日本在线观看| 欧美日本在线视频| 韩国v欧美v日本v亚洲v| 国产精品久久久久国产精品日日| 91在线精品一区二区三区| 亚洲国产裸拍裸体视频在线观看乱了 | 午夜精品一区二区三区电影天堂| 91精品久久久久久久91蜜桃| 国产麻豆精品在线| 亚洲乱码国产乱码精品精可以看| 精品污污网站免费看| 久久99国产精品久久99| 国产精品毛片大码女人| 欧美精品日韩一区| 国产成人一区在线| 调教+趴+乳夹+国产+精品| 26uuu国产电影一区二区| 91看片淫黄大片一级在线观看| 无码av免费一区二区三区试看| 欧美成人一区二区三区| 91在线无精精品入口| 蜜臀av亚洲一区中文字幕| 欧美国产成人在线| 91麻豆精品国产综合久久久久久 | 欧美电视剧在线观看完整版| aa级大片欧美| 麻豆精品精品国产自在97香蕉 | 自拍偷在线精品自拍偷无码专区 | 亚洲一区二区在线视频| 久久丝袜美腿综合| 欧美午夜精品免费| 成人一区二区三区中文字幕| 丝袜美腿亚洲色图| 亚洲视频1区2区| 精品久久久久久久人人人人传媒| 91视频.com| 国产一二三精品| 日本不卡一区二区三区高清视频| 国产精品国产三级国产专播品爱网| 7777精品伊人久久久大香线蕉| www.亚洲免费av| 国产制服丝袜一区| 天堂午夜影视日韩欧美一区二区| 亚洲欧洲av一区二区三区久久| 91精品国产欧美日韩| 欧美综合在线视频| 91视频com| www.日韩大片| 丁香一区二区三区| 国产成人精品免费一区二区| 精品一区二区国语对白| 免费观看一级欧美片| 日韩精品1区2区3区| 亚洲成人手机在线| 亚洲一区免费视频| 亚洲一区中文日韩| 亚洲一区二区影院| 亚洲va中文字幕| 午夜一区二区三区视频| 亚洲一区在线播放| 亚洲国产成人tv| 天天综合天天做天天综合| 亚洲chinese男男1069| 亚洲一区二区三区四区中文字幕| 一区二区三区在线视频免费观看| 亚洲人吸女人奶水| 亚洲一区二区在线免费观看视频| 亚洲综合免费观看高清完整版在线| 亚洲男女一区二区三区| 一区二区三区不卡视频| 亚洲综合在线五月| 五月激情综合网| 青草av.久久免费一区| 麻豆成人久久精品二区三区红| 日本亚洲视频在线| 国产乱码精品1区2区3区| 成人午夜视频福利| 色婷婷综合久色| 欧美精品欧美精品系列| 精品久久国产字幕高潮| 国产视频一区在线播放| 亚洲欧美在线高清| 亚洲午夜久久久| 美女在线视频一区| 国产a精品视频| 色猫猫国产区一区二在线视频| 欧美性猛交xxxxxxxx| 日韩欧美高清dvd碟片| 国产女同性恋一区二区| 亚洲乱码精品一二三四区日韩在线| 午夜久久福利影院| 国产精品18久久久久久vr| 91国内精品野花午夜精品| 日韩午夜在线观看视频| 国产精品免费久久| 亚洲18影院在线观看| 国产丶欧美丶日本不卡视频| 一本大道久久a久久综合| 制服丝袜亚洲精品中文字幕| 2019国产精品| 亚洲一区二区三区自拍| 国产乱一区二区| 欧美在线观看视频一区二区| 精品国产欧美一区二区| 亚洲激情图片qvod| 国产成人自拍在线| 欧美喷潮久久久xxxxx| 国产日韩av一区| 日日骚欧美日韩| 91丨porny丨蝌蚪视频| 久久日韩粉嫩一区二区三区| 尤物视频一区二区| 国产成人av一区二区三区在线 | 五月综合激情网| 波多野结衣在线一区| 精品人在线二区三区| 亚洲福利一区二区三区| 成人免费视频播放| 精品国产乱码久久久久久蜜臀 | 国内精品自线一区二区三区视频| 色94色欧美sute亚洲13| 国产偷国产偷亚洲高清人白洁 | 亚洲欧美日韩国产综合| 经典一区二区三区| 在线播放中文一区| 亚洲人成精品久久久久| 国产精品影视天天线| 日韩一区二区三区三四区视频在线观看 | 国产麻豆成人精品| 日韩欧美一区二区视频| 性欧美大战久久久久久久久| www.色综合.com| 国产精品丝袜久久久久久app| 久久www免费人成看片高清| 欧美精品一级二级| 亚洲国产成人高清精品| 日韩美女天天操| 亚洲成人www| 欧美色综合网站| 亚洲自拍偷拍av| 欧美主播一区二区三区| 亚洲精品欧美在线| 99久免费精品视频在线观看| 国产精品入口麻豆原神| 成人v精品蜜桃久久一区| 国产精品女上位| 成人国产精品免费观看视频| 中文字幕高清一区|