谁帮我把这句解释一下,关于数据库的,StartID=atol(LPCTSTR(_bstr_t(pSet->GetFields()->GetItem(_variant_t((short)0))->GetValue())));
 
StartKM=atol(LPCTSTR(_bstr_t(pSet->GetFields()->GetItem(_variant_t((short)1))->GetValue())));谢谢指点。

解决方案 »

  1.   

    StartID=atol(LPCTSTR(_bstr_t(pSet->GetFields()->GetItem(_variant_t((short)0))->GetValue())));
    获取 pSet 数据集中第一列的值, 并把它转换为 long 型, 存入 StartID 中.atol 是标准的 c 函数, 把字符串转换成 long
    LPCTSTR 是 Windows 里定义的, 如果你没有用 UNICODE 就有点象 const char *
    _bstr_t 是 COM 时常用的一种类型, 在这里作强制类型转换用
    pSet 应该是数据集
    GetFields() 就是得到 pSet 中的所有域
    GetItem 就是得到第几列
    GetValue 就是得到值第二句, 同理, 略. ..
      

  2.   

    小心异常,这种写法很不安全,也不符合代码规范数据库有字段为VT_NULL可能性,用_variant_t取value,判断之后再转换
      

  3.   

    总的来说就是:
    将数据集中的第一个字段的值从字符型转化为long型