希望各位高手指点迷津,感激不尽!!!!拜托了!!!!
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操作的表和你查询的表应该是同一个表吧?