大虾们好; 我创建了一个access数据库,有两个表。表person 3个字段 PerAccount(账号),PerPasword(密码),PerName(户名)表Left两个字段PerCount(账号),LeftMoney(余额)。表person在系统登录时使用的,登录后将账号保存在全局变量PerNum中。登录是访问peson表正确,但是访问Left表时出现From子句语法错误我贴代码,大家帮我看下啊!在CATMApp:: initinstance()中已经完成连接
bool CATMApp::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
if(ADOSet->State==adStateOpen)
ADOSet->Close();
try
{
ADOSet->Open(strSQL,m_pConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdUnknown);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}下面这个函数中数据库访问是正确的
void PerLogin::OnBtnok()
{
// TODO: Add your control notification handler code here
CString SQLstr;
UpdateData(true); if(m_AccountNum.IsEmpty())
{
AfxMessageBox("请输入用户名!");
return;
}
SQLstr.Format("SELECT * FROM Person WHERE PerAccount='%s' and PerPassword='%s'",m_AccountNum,m_PasswordNum);
bool bol=theApp.ADOExecute(theApp.m_pRs,(_variant_t)SQLstr);
if(bol)
{
PerNum=m_AccountNum;
.....
}下面这个函数中访问数据库就会出错
void DrawFunds::OnOK()
{
// TODO: Add extra validation here
CString SQLstr;
_variant_t var;
long temp; SQLstr.Format("SELECT * FROM Left WHERE PerCount='%s'",PerNum);
bool bol=theApp.ADOExecute(theApp.m_pRs,(_variant_t)SQLstr);
....
}
请高手给解答下!
bool CATMApp::ADOExecute(_RecordsetPtr &ADOSet, _variant_t &strSQL)
{
if(ADOSet->State==adStateOpen)
ADOSet->Close();
try
{
ADOSet->Open(strSQL,m_pConn.GetInterfacePtr(),adOpenStatic,adLockOptimistic,adCmdUnknown);
return true;
}
catch(_com_error e)
{
AfxMessageBox(e.Description());
return false;
}
}下面这个函数中数据库访问是正确的
void PerLogin::OnBtnok()
{
// TODO: Add your control notification handler code here
CString SQLstr;
UpdateData(true); if(m_AccountNum.IsEmpty())
{
AfxMessageBox("请输入用户名!");
return;
}
SQLstr.Format("SELECT * FROM Person WHERE PerAccount='%s' and PerPassword='%s'",m_AccountNum,m_PasswordNum);
bool bol=theApp.ADOExecute(theApp.m_pRs,(_variant_t)SQLstr);
if(bol)
{
PerNum=m_AccountNum;
.....
}下面这个函数中访问数据库就会出错
void DrawFunds::OnOK()
{
// TODO: Add extra validation here
CString SQLstr;
_variant_t var;
long temp; SQLstr.Format("SELECT * FROM Left WHERE PerCount='%s'",PerNum);
bool bol=theApp.ADOExecute(theApp.m_pRs,(_variant_t)SQLstr);
....
}
请高手给解答下!
解决方案 »
- 编写VC操作另外的应用程序中的两个关联的combox
- 请问高手, a->a1() 这个表示什么意思?
- 一个CRect类型的值如何赋到VARIANT类型的变量中去?谢谢
- 请教!如何让MS-DOS运行对话框 运行于后台工作?
- InstallSheild for VC++的书籍和資料?
- 求教关于滤波的问题
- 如何把listctrl的数据插入在后面,我用InsertItem,总是往前面插入,谢谢
- ?看了RFC2138中关于如何打RADIUS协议包,但是有点不明白,请问高手……^o^??……
- 比较急,如何在win2000或WinXP下确定用户是否有管理员权限呢?
- DOS下只能编译成一个大的EXE文件吗?内存不足怎么办
- 如何实现XTreme Toolkit中的报表控件CXTPReportControl鼠标单击列标题事件?
- 求助帖 熟悉汇编或vc的高手进来
显示错误是:From子句语法错误!