| 

 等级: 专业版 
注册: 2021-5-20曾用名: 永杰 | 
 
| 老师您好: 过去我在VS2019以前版本写数据库,都没有错误,现在在VS2022里面碰到一个问题,代码如下:
 
 
 CString* qhpz(void)             //查询期货品种,因为直接查询,需要更改access的表属性,所以变相查询数据库中有多少表格
 {
 CString* qhpzdm = new CString;
 sjkmk *sjk= new sjkmk();
 int xhs=0;
 CString qhsl= sjk->qhpzzh(0, 20);
 xhs = _ttoi(qhsl);
 sjk->OpenConnection();
 if (sjk->m_pConnection->State == adStateOpen)
 {
 int xls=0;
 for (int i = 0; i < xhs; i++)
 {
 for (int j = 0; j < 12; j++)
 {
 CString qhmc;
 qhmc = sjk->qhpzzh(i, j);
 CString cxb;
 cxb.Format(_T("SELECT top 1 time FROM %s"), qhmc);  //这个出现了下面的警告        C6284
 sjk->m_pRecordset = sjk->m_pConnection->Execute((_bstr_t)cxb, &(sjk->RecordsAffected), adCmdText);
 if (!(sjk->m_pRecordset->EndOfFile) && !(sjk->m_pRecordset->BOF))
 {
 qhpzdm[xls] = qhmc;             //这句提示:严重性        代码        说明        项目        文件        行        禁止显示状态 警告        C6385        正在从 "qhpzdm" 读取无效数据。        jztsjkwh        C:\Weisoft Stock(x64)\FmlDevelope\jztsjkwh\jztsjkwh\sjk.cpp        261
 
 ++xls;
 }
 }
 }
 }
 
 return qhpzdm;
 }
 严重性        代码        说明        项目        文件        行        禁止显示状态
 警告        C6284        传递了对象作为 _Param_(2),而对“ATL::CStringT<wchar_t,StrTraitMFC<wchar_t,ATL::ChTraitsCRT<wchar_t> > >::Format”的调用需要一个字符串,实际类型: “class ATL::CStringT<wchar_t,class StrTraitMFC<wchar_t,class ATL::ChTraitsCRT<wchar_t> > >”。        jztsjkwh        C:\Weisoft Stock(x64)\FmlDevelope\jztsjkwh\jztsjkwh\sjk.cpp        257
 我尝试更改qhmc的赋值,依旧是不行,编译是通过了,但是错误是有的啊,不知道我怎么修改才能行啊?
 
 
 
 补充内容 (2022-8-1 07:12):
 经过测试,过去对的语句,比如:
 CString d7zqb;
 d7zqb.Format(_T("SELECT top 1 time FROM %s where right(time,2)=%d order by time desc"),pzdm,7);
 在VS2022里面都给了错误提示,麻烦老师百忙中看看
 
 补充内容 (2022-8-1 10:59):
 Format()的问题没有解决,后面数组赋值的错误找到了,new那个地方漏写了[]
 | 
 |