VC连接sql servere数据库

1.
BOOL CDBPro::Init()
{
      CString dir = GetModuleDir( ) + "\\cad_client.ini";




GetPrivateProfileString("DBRES", "SERVERIP", "", m_dbInfoRes.strip, sizeof(m_dbInfoRes.strip), dir );
  GetPrivateProfileString("DBRES", "USERNAME", "", m_dbInfoRes.name,  sizeof(m_dbInfoRes.name),  dir ) ;
GetPrivateProfileString("DBRES", "USERPSWD", "", m_dbInfoRes.pswd,  sizeof(m_dbInfoRes.pswd),  dir ) ;
GetPrivateProfileString("DBRES", "DBNAME",  "",  m_dbInfoRes.db, sizeof(m_dbInfoRes.db), dir );


GetPrivateProfileString("DBRCD", "SERVERIP", "", m_dbInfoRcd.strip, sizeof(m_dbInfoRcd.strip), dir );
  GetPrivateProfileString("DBRCD", "USERNAME", "", m_dbInfoRcd.name,  sizeof(m_dbInfoRcd.name),  dir ) ;
GetPrivateProfileString("DBRCD", "USERPSWD", "", m_dbInfoRcd.pswd,  sizeof(m_dbInfoRcd.pswd),  dir ) ;
GetPrivateProfileString("DBRCD", "DBNAME",  "", m_dbInfoRcd.db, sizeof(m_dbInfoRcd.db), dir );




CString strLogin;
strLogin.Format("DRIVER=SQL Server;SERVER=%s;UID=%s;PWD=%s;DATABASE=%s", m_dbInfoRes.strip, m_dbInfoRes.name, m_dbInfoRes.pswd, m_dbInfoRes.db); 
try
{
m_dbRes.OpenEx(strLogin, CDatabase::noOdbcDialog | CDatabase::useCursorLib);
}
catch(CException* e)
{
// e->ReportError();
e->Delete();
return FALSE;
}




strLogin.Format("DRIVER=SQL Server;SERVER=%s;UID=%s;PWD=%s;DATABASE=%s", m_dbInfoRcd.strip, m_dbInfoRcd.name, m_dbInfoRcd.pswd, m_dbInfoRcd.db); 
try
{
m_dbRcd.OpenEx(strLogin, CDatabase::noOdbcDialog | CDatabase::useCursorLib);
}
catch(CException* e)
{
e->ReportError();
e->Delete();
return FALSE;
}


g_info.db = 1;


return TRUE;
}


2.


BOOL CCADClient4App::InitInstance()
{
bool CDBPro::CheckUser(CString strName, CString strPswd, int id)
{
CRecordset rs(&m_dbRes);
CString sql;


if(rs.IsOpen())
    rs.Close();


sql.Format("select * from TUser where username='%s' and password='%s' and console_id=%d", strName, strPswd, id);
           
int nConID = 0;
try
{
rs.Open(CRecordset::forwardOnly, sql);
while(!rs.IsEOF())
{
CString strID = "";
rs.GetFieldValue("console_id",strID);
nConID = atoi(strID);   
rs.MoveNext();
}
rs.Close();
}
catch(CDBException* e)
{
e->ReportError();
e->Delete();
return FALSE;
}

rs.Close();


return nConID!=0;
}


3.
void CDlgLogin::OnOK() 
{
if( ! g_dbPro.CheckUser( m_strName, m_strPwd, pCons->id ) )
{
MessageBox("登录用户信息和调度台不匹配","系统提示",MB_OK|MB_ICONWARNING);
return;
}
memcpy(&g_conRes, pCons, sizeof(stDBTconRes));


g_strUser = m_strName;


sprintf(m_name, "%s", m_strName );


SaveConfig( GetModuleDir()+"\\user.dat" );

CDialog::OnOK();
}
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值