读书人

sql 语句异常帮小弟我看看哪儿错了

发布时间: 2013-10-22 16:16:51 作者: rapoo

sql 语句错误,帮我看看哪儿错了

select d.UserName,T.Datestr from lander AS d inner join Log AS T where d.UserName ='"+User+"' and T.Datestr between '"&data1&"' and '"&data2&"'

提示: error C2678: 二进制“&”: 没有找到接受“ATL::CStringT<BaseType,StringTraits>”类型的左操作数的运算符(或没有可接受的转换)

select d.UserName,T.Datestr from lander d inner join Log T where d.UserName ='"+User+"' and T.Datestr between '"+data1+"' and '"+data2+"'

提示:error C2593: “operator +”不明确

select d.UserName,T.Datestr from lander d inner join Log T where d.UserName ='"+User+"'

成功!

select d.UserName,T.Datestr from lander d inner join Log T where T.Datestr between '"+data1+"' and '"+data2+"'

提示:error C2111: “+”: 指针加法要求整型操作数

完整语句:
reg.Open(CRecordset::forwardOnly,_T("select d.UserName,T.Datestr from lander d inner join Log T where d.UserName ='"+User+"' and T.Datestr between '"+data1+"' and '"+data2+"'"));

[解决办法]
TCHAR sqlstr[2048];
_stprintf(sqlstr,_T("select d.UserName,T.Datestr from lander d inner join Log T where d.UserName ='%s' and T.Datestr between '%s' and '%s'",User,data1,data2);
reg.Open(CRecordset::forwardOnly,strsql);

读书人网 >C++

热点推荐