我在做一个MIS(设计论文)时碰到一个很奇怪的问题,以下对它的描述:我要在一个界面SampleManDLg中实现添加,修改和删除样品信息的记录,在其中用了adodc,datagrid这两个控件,在datagrid中能对添加,修改和删除后的记录进行实时的刷新显示。所以我在SampleManDlg.cpp有一个Refresh_Data函数来实现来功能,但编译运行后发现在添加完一天记录后并没有在datagrid中显示出,我发现在添加完记录按确定按钮后它会显示一个报错的MessageBox,说第一行'='附近有语法错误,但我看了数据库中的Sample表中已写入了这条记录,我查了相关的文件也查不到错误,最奇怪的是在Refresh_Data函数有一句:
/////////////////////////////////////////////////////
CString cSource;//设置SELECT语句,
cSource = "SELECT Sid, Soutlook AS 样品外观, Samount AS 样品数量, Snumber AS 样品份数,";
cSource += " SoutletNo AS 采样排口, Memo AS 备注,Cname AS 单位名称";
cSource += " FROM Sample WHERE Sid=" + cSid + " ORDER BY Cname";
////////////////////////////////////////////////////
如果我把Sample表中的一个属性打错,如Soutlook 写成,Soutloo,它就会显示一个报错的MessageBox,说Soutloo无效,但却在datagrid显示了Sample表中的记录,但在datagrid中各个属性名却不是我要显示的中文,而是各个属性的英语显示,我实在找不到错误在那里。在SampleManDlg.cpp中我也有初始化的函数:
///////////////////////////////////////////
BOOL CSampleManDlg::OnInitDialog() 
{
CDialog::OnInitDialog();

// TODO: Add extra initialization here
Refresh_Data();

return TRUE;  // return TRUE unless you set the focus to a control
              // EXCEPTION: OCX Property Pages should return FALSE
}
//////////////////////////////////////////
因为这是我的设计论文,比较紧急,所以求助于各位好心人,我会一直在线等待,如果我提供的信息还不够,我会及时的补上回复,谢谢大家!