mfc 连接数据源后怎么操作数据库中的数据,先谢谢啦……
代码如下:voidCIdenfpDlg::OnOnok()//”确定"按钮{UpdateData(TRUE);::CoInitialize(NULL);//初始化COM库...
代码如下:
void CIdenfpDlg::OnOnok() //”确定"按钮
{
UpdateData(TRUE);
::CoInitialize(NULL); //初始化COM库环境
CString c_username,c_password;
c_username=m_usern;
c_password=m_paw;
if (c_username.IsEmpty() || c_password.IsEmpty())
{
MessageBox("用户名称或密码不能为空", "用户登录信息");
return;
}
CString sql,temp="go";
sql.Format("use nchk_student select * from user_information where username = '%s' and userpw = '%s'",c_username,c_password);
temp+="\n";
sql=temp+sql;
CDatabase db;
BOOL bRtn;
try
{
bRtn = db.OpenEx("DSN=nchkstuidentify;UID=sa",CDatabase::noOdbcDialog);
}
catch (CDBException *pDBEx)
{
pDBEx->ReportError();
}
if (!bRtn)
MessageBox("连接数据库失败!");
else
{
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePt(),adOpenKeyset,adLockOptimistic,adCmdUnknown);
if(m_pRs->RecordCount!=-1)
{ MessageBox(sql);
Menu men;//设置另外一个对话框类的对象
men.DoModal();
}
else
{MessageBox("用户名或密码不正确!");}
}
/* 操作结束后,关闭数据库 */
db.Close();
}
编译成功,但是运行时输入用户名和密码后出现
"0x00404386"指令引用的"0x00000000"内存。该内存不能为“read”
要终止程序,请单击“确定”
高手们请快点帮下忙啊…… 展开
void CIdenfpDlg::OnOnok() //”确定"按钮
{
UpdateData(TRUE);
::CoInitialize(NULL); //初始化COM库环境
CString c_username,c_password;
c_username=m_usern;
c_password=m_paw;
if (c_username.IsEmpty() || c_password.IsEmpty())
{
MessageBox("用户名称或密码不能为空", "用户登录信息");
return;
}
CString sql,temp="go";
sql.Format("use nchk_student select * from user_information where username = '%s' and userpw = '%s'",c_username,c_password);
temp+="\n";
sql=temp+sql;
CDatabase db;
BOOL bRtn;
try
{
bRtn = db.OpenEx("DSN=nchkstuidentify;UID=sa",CDatabase::noOdbcDialog);
}
catch (CDBException *pDBEx)
{
pDBEx->ReportError();
}
if (!bRtn)
MessageBox("连接数据库失败!");
else
{
m_pRs->Open((_variant_t)sql,m_pCon.GetInterfacePt(),adOpenKeyset,adLockOptimistic,adCmdUnknown);
if(m_pRs->RecordCount!=-1)
{ MessageBox(sql);
Menu men;//设置另外一个对话框类的对象
men.DoModal();
}
else
{MessageBox("用户名或密码不正确!");}
}
/* 操作结束后,关闭数据库 */
db.Close();
}
编译成功,但是运行时输入用户名和密码后出现
"0x00404386"指令引用的"0x00000000"内存。该内存不能为“read”
要终止程序,请单击“确定”
高手们请快点帮下忙啊…… 展开
1个回答
展开全部
你好!电脑出现:【该内存不能为read与written】,原因是比较复杂的,请对症下药!
【答案原创,引用请说明,原作者:力王历史】!偶然出现!点:【确定或取消】,即可!
1。配置错误!【重启,出完电脑品牌后,按F8,安全模式,最后一次正确配置,回车,回车】!
2。系统漏洞!【360安全卫士或金山卫士,或可牛免费杀毒,修复:高危和重要的,其它忽略】!
3。软件冲突!【卸载不常用的软件,保持系统稳定,尤其是同类型的软件,不兼容】!
4。软件版本过旧!【使用:(驱动人生),更新:显卡驱动,声卡驱动!其它软件,覆盖安装】!
5。病毒木马!【杀毒软件,全盘扫描与自定义扫描,完毕后,隔离区,彻底删除】!
6。恶评插件!【可牛免费杀毒,金山卫士,或360安全卫士,清理恶评插件】!
7。可疑启动项!【360系统急救箱,开始急救,文件恢复区,彻底删除文件】!
8。系统文件损坏!【金山急救箱】,扩展扫描,立即扫描,立即处理,重启电脑】!
9。专业工具!【去网上下载一个:read修复工具,修复,试试】!
10。指令修复法!开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
粘贴,回车,滚动完毕后,再输入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
回车!直到屏幕滚动停止为止,重启电脑!
【答案原创,引用请说明,原作者:力王历史】!偶然出现!点:【确定或取消】,即可!
1。配置错误!【重启,出完电脑品牌后,按F8,安全模式,最后一次正确配置,回车,回车】!
2。系统漏洞!【360安全卫士或金山卫士,或可牛免费杀毒,修复:高危和重要的,其它忽略】!
3。软件冲突!【卸载不常用的软件,保持系统稳定,尤其是同类型的软件,不兼容】!
4。软件版本过旧!【使用:(驱动人生),更新:显卡驱动,声卡驱动!其它软件,覆盖安装】!
5。病毒木马!【杀毒软件,全盘扫描与自定义扫描,完毕后,隔离区,彻底删除】!
6。恶评插件!【可牛免费杀毒,金山卫士,或360安全卫士,清理恶评插件】!
7。可疑启动项!【360系统急救箱,开始急救,文件恢复区,彻底删除文件】!
8。系统文件损坏!【金山急救箱】,扩展扫描,立即扫描,立即处理,重启电脑】!
9。专业工具!【去网上下载一个:read修复工具,修复,试试】!
10。指令修复法!开始菜单,运行 ,输入cmd, 回车,在命令提示符下输入(复制即可) :
for %1 in (%windir%\system32\*.ocx) do regsvr32 /s %1
粘贴,回车,滚动完毕后,再输入:
for %1 in (%windir%\system32\*.dll) do regsvr32.exe /s %1
回车!直到屏幕滚动停止为止,重启电脑!
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询