MFC中 怎么用GetFieldValue()获取缓冲池内的long类型数据

MFC中 如何用GetFieldValue()获取缓冲池内的long类型数据
小弟又前来讨教了。

数据库中有有十列,7个CString型, 3个long类型的。
现在的情况是:  我用m_list.GetFieldValue(1, my_id);      (1代表10列中的第一列,my_id是我定义的临时变量)
  这样可以正确的将CString类型的数据赋值到临时变量中。

问题是,那3个long类型的数据怎么获取呢, 我用强制转换总是提示我“XX处有未经处理的异常:读取位置0x...时发生访问冲突"
这个错误提示应该是指针的问题。

抛开这个错误提示,大家告诉我要怎么获取long类型的数据吧。谢谢啦!
------解决方案--------------------
 CDBVariant val;
 m_list.GetFieldValue(1, val, SQL_C_SLONG);