SQL2000/vc6.0

来源:百度知道 编辑:UC知道 时间:2024/06/11 02:36:28
ADOConn m_AdoConn;
m_AdoConn.OnInitADOConn();
int l;
_bstr_t sql;
sql="select count(Age) from Teachers where Age >20 and Age < 30";
RecordsetPtr m_pRecordset;
m_pRecordset=m_AdoConn.GetRecordSet(sql);
l=atoi(sql);
sprintf(str,"%d人",l);
为什么得到的是0呢,在20到30岁之间有数据,请哪位大哥大姐,帮帮忙哦,是不是20-30得到的数转换出现问题!!!跪求!!

m_pRecordset=m_AdoConn.GetRecordSet(sql);
l=atoi(sql);
sprintf(str,"%d人",l);
这段不对,你取人数不应该转换SQL变量,这是个字符串的SQL语句,当然不能转换成整数了,你要转换m_pRecordset中的第一个记录的字段才行

sql="select count(*) from Teachers where Age >20 and Age < 30"
将你的sql语句改下看!Count(*)才是检索所有的数据的!