等级: 专业版
- 注册:
- 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那个地方漏写了[] |
|