首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

希望指点迷津,感激不尽!拜托了!

2012-09-27 
希望各位高手指点迷津,感激不尽!!!!拜托了!!!!CRecordset rs(&m_db)//??????????????????//???????????rs

希望各位高手指点迷津,感激不尽!!!!拜托了!!!!
CRecordset rs(&m_db);//??????????????????
 //???????????
 rs.Open(CRecordset::dynaset, "select * from drugstore order by id");
 while (!rs.IsEOF())  
{
 int id;
 CString name,birth,number;
 CDBVariant var;//huo qu int xing
 //??????ID???
 rs.GetFieldValue((short)0, var, SQL_C_SLONG);//这句是什么意思啊?功能是什么?
 if (var.m_dwType != DBVT_NULL) 
id = var.m_iVal;
 var.Clear(); //这三句也不懂什么意思?

 rs.GetFieldValue(1,name);
 //???????
 rs.GetFieldValue(2,birth);
 rs.GetFieldValue(3,number);
 InsertCRInfoItem(id,name,birth,number);//geng xin dao lie biao kong jian
 rs.MoveNext();//remove next line
 }
 rs.Close();//拜托问问那个数据库的文件在查询的时候,为什么第一次是一行记录,第二次是两行记录,第三次是三行记录呢?代码怎么该?

[解决办法]
GetFieldValue作用从查询出来的结果集中读取数据。
rs.GetFieldValue((short)0, var, SQL_C_SLONG);
将结果集中第一个字段相关信息读入var


if (var.m_dwType != DBVT_NULL)
id = var.m_iVal;
var.Clear(); 
通过var中保存的信息来判读,第一个字段值是否为null,不为null的话读取
[解决办法]
拜托问问那个数据库的文件在查询的时候,为什么第一次是一行记录,第二次是两行记录,第三次是三行记录呢?代码怎么该?

你查询后InsertCRInfoItem(id,name,birth,number)
这个insert操作的表和你查询的表应该是同一个表吧?

热点排行