我把一个edit框的成员变量为m_chengben;
然后定义一个CString
CString a="fsadfsa";
然后
m_chengben=a;
编译通过,然后执行就会非法操作。为什么????
CString拷贝不就是直接用'='么?
还有用.format也不行。
很着急呀~~~~~~
然后定义一个CString
CString a="fsadfsa";
然后
m_chengben=a;
编译通过,然后执行就会非法操作。为什么????
CString拷贝不就是直接用'='么?
还有用.format也不行。
很着急呀~~~~~~
{
CString d="fdfds";
m_chengben=d;// 这里就出错
if (!dbInfo.IsOpen())
{
AfxMessageBox("数据库初始化错误!",MB_OK|MB_ICONEXCLAMATION);
}
else
{
CRecordset company(&dbInfo);
CString strFilter,strname,strnumber,strtimes;
CString strshouru,strchengben,strlirun,strfuzhai,strzichan,strcunhuo,strldzichan,strldfuzhai,stryshzhk,strpgshy
,strjzchshy,strjiage,strweilaichzhl,strchzhjzh,strnengli,strzhanlue,strzuzhi,strjyhdjshy,strffxfy; strFilter.Format("SELECT DISTINCT * FROM [company] WHERE [company].[CNumber]='%s'",m_CName);
if (company.Open(CRecordset::snapshot,
strFilter, CRecordset::readOnly))///////////////需要修改表名
{
//AfxMessageBox(strFilter);
int count=0;
while(!company.IsEOF())
{
company.GetFieldValue("company",strname);
company.GetFieldValue("CNumber",strnumber);
count++;
company.MoveNext();
}
company.Close();
}
CRecordset show(&dbInfo);
strFilter.Format("SELECT DISTINCT * FROM [jibenxinxi] WHERE [jibenxinxi].[CNumber]='%s' AND [jibenxinxi].[date]='%s'",m_CName,m_CTime);
if (show.Open(CRecordset::snapshot,
strFilter, CRecordset::readOnly))
{
int count=0;
while(!show.IsEOF())
{
show.GetFieldValue("date",strtimes);
show.GetFieldValue("CNumber",strnumber);
show.GetFieldValue("zhuyingshouru",strshouru);
show.GetFieldValue("zhuyingchengben",strchengben);
show.GetFieldValue("jinglirun",strlirun);
show.GetFieldValue("fuzhaiheji",strfuzhai);
show.GetFieldValue("zichanzongji",strzichan);
show.GetFieldValue("cunhuo",strcunhuo);
show.GetFieldValue("liudongzichan",strldzichan);
show.GetFieldValue("liudongfuzhai",strldfuzhai);
show.GetFieldValue("yingshouzhangkuan",stryshzhk);
show.GetFieldValue("PGshouyi",strpgshy);
show.GetFieldValue("Jzchshy",strjzchshy);
show.GetFieldValue("jiage",strjiage);
show.GetFieldValue("weilaichzhl",strweilaichzhl);
show.GetFieldValue("chzhjingzheng",strchzhjzh);
show.GetFieldValue("nengli",strnengli);
show.GetFieldValue("zhanlue",strzhanlue);
show.GetFieldValue("zuzhi",strzuzhi);
show.GetFieldValue("jyhdjingshouyi",strjyhdjshy);
show.GetFieldValue("feifuxianfeiyong",strffxfy);
count++;
show.MoveNext();
}
show.Close();
}
m_chengben.Format("%s",strchengben);
m_chzhjzh = strchzhjzh;
m_company_name = strname;
m_company_num = strnumber;
m_cunhuo = strcunhuo;
m_date = strtimes;
m_fuxian = strffxfy;
m_fuzhai = strfuzhai;
m_jingshouyi = strjyhdjshy;
m_jlrwlchzhl = strweilaichzhl;
m_ldfuzhai = strldfuzhai;
m_ldzch = strldzichan;
m_lirun = strlirun;
m_nengli = strnengli;
m_pgshijia = strjiage;
m_pgshouyi = strpgshy;
m_shouru = strshouru;
m_shouyilv = strjzchshy;
m_xianjinjll = _T("");
m_zchze = strzichan;
m_yshzhangkuan = stryshzhk;
m_zhanlue = strzhanlue;
m_zuzhi = strzuzhi;
}
UpdateData(TRUE);
}
^^^^^^^
{
// TODO: Add your command handler code here
CWnd *pWnd;
pWnd=this->splitter1.GetActivePane();
if(pWnd->IsKindOf(RUNTIME_CLASS(CFunView)))
MessageBox("The Active view is CFunView");
else
{
pWnd=this->splitter2.GetActivePane();
if(pWnd->IsKindOf(RUNTIME_CLASS(CHelpView)))
MessageBox("The Active view is CHelpView");
else
MessageBox("The Active view is CCalView");
}
}
这样在任何后只能有一个activePane,
而你的代码 默认了splitter2 一定有焦点,
但是,当splitter2 没有焦点是,就会出错
你还是把错误帖出来让大家看看
不要给空间变量直接赋值
psusong(我心飞扬) 说:
用SetWindowText()
psusong(我心飞扬) 说:
你的做法不符合系统的处理过车程,这样还不乱套