wex5怎么连接数据库
答案:2 悬赏:50 手机版
解决时间 2021-01-28 20:16
- 提问者网友:缘字诀
- 2021-01-28 01:57
wex5怎么连接数据库
最佳答案
- 五星知识达人网友:你哪知我潦倒为你
- 2021-01-28 03:17
首先是在数据库中将连接数调大一些,另外还有一个重要的问题是:程序与数据库的操作使用的是JDBC
全部回答
- 1楼网友:鱼芗
- 2021-01-28 04:09
//初始化数据库连接
::coinitialize(null);
连接数据库
[cpp] view plaincopyprint?
bool clogin::connectdb(void)
{
hresult hr = null;
try
{
hr = m_pconnection.createinstance("adodb.connection");///创建 connection 对象
if(succeeded(hr))
{
//登录数据库并连接数据库dbcourse
//这里的server不能写成127.0.0.1否则会出现未指定的错误,应该写成sql server登录界面的服务器名称
m_pconnection->connectionstring = "driver={sql server};server=logo-pc\\logo;uid=dbcourse;pwd=dbcourse;";
m_pconnection->open("","","",adconnectunspecified);
m_pconnection->defaultdatabase = "dbcourse";
}
else
{
afxmessagebox(text("创建 connection 对象失败"));///显示错误信息
return false;
}
}
catch(_com_error e)///捕捉异常
{
cstring errormessage;
errormessage.format( text("连接数据库失败 !\r\n 错误信息 :%s(%ld)"),e.errormessage(),e.error() );
afxmessagebox(errormessage);///显示错误信息
return false;
}
return true;
}
操作数据库
[cpp] view plaincopyprint?
void clogin::onbnclickedbutton1()
{
if( m_user.getwindowtextlength()<=0 || m_password.getwindowtextlength()<=0 )
{
messagebox(text("请输入用户名或密码!"), text("错误:用户名或密码为空"), mb_ok | mb_iconwarning );
return;
}
if( false==this->connectdb() ) return;
tchar szusername[20];
tchar szpassword[50];
tchar szsql[max_path];
//获取用户输入的用户名和密码
m_user.getwindowtext( szusername, 20 );
m_password.getwindowtext( szpassword, 50 );
//创建_recordsetptr用来执行数据库操作
_recordsetptr precordset;
precordset.createinstance("adodb.recordset");
_tcscpy_s( szsql, text("select * from usr where uname='") );
_tcscat_s( szsql, szusername );
_tcscat_s( szsql, text("' and passwd='") );
_tcscat_s( szsql, szpassword );
_tcscat_s( szsql, text("';") );
precordset->open(_variant_t(szsql), _variant_t ((idispatch*) m_pconnection,true), adopenstatic, adlockoptimistic, adcmdtext);
int nresult = dlg_result_ok;
if( precordset->recordcount>0 )
{
//messagebox(text("登录成功!"), szusername, mb_ok | mb_iconinformation );
}
else
{
messagebox(text("用户名或密码错误!"), text("登录失败!"), mb_ok | mb_iconinformation );
nresult = dlg_result_error;
}
precordset->close();
if( dlg_result_ok==nresult ) exit( dlg_result_ok );
}
哦忘了一件事了,还需要在stafx.h文件中引入dll文件的,如此
[cpp] view plaincopyprint?
//添加dll库
#import "c:\program files\common files\system\ado\msado15.dll" no_namespace rename("eof","adoeof")
//添加dll库
//添加宏定义
#define dlg_result_ok 1
#define dlg_result_error 2
#define dlg_result_cancel 3
//添加宏定义
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯