VB ListView 添加项时 类型不匹配 的问题

来源:互联网 发布:java main log4j 编辑:程序博客网 时间:2024/06/05 11:25

数据表
DEPTNAME  VARCHAR2(20 BYTE),
  POSID    VARCHAR2(9 BYTE)                    NOT NULL,
  OPERID    VARCHAR2(9 BYTE)                    NOT NULL,
  OPERNAME  VARCHAR2(20 BYTE),
  LOGTIME  DATE                                NOT NULL,
  LOGTYPE  VARCHAR2(8 BYTE)
------------
想通过查询后把结果显示在listview中,

lvpos.ColumnHeaders.Add , , "网点名称"
    lvpos.ColumnHeaders.Add , , "终端号"
    lvpos.ColumnHeaders.Add , , "操作员号"
    lvpos.ColumnHeaders.Add , , "操作员姓名"
    lvpos.ColumnHeaders.Add , , "时间"
    lvpos.ColumnHeaders.Add , , "签到/签退"

------------
Dim lItem as ListItem


Do While Not rec.EOF
        Set lItem = lvpos.ListItems.Add(, , rec.Fields("DEPTNAME"))  ‘可是这里报错  13 类型不匹配
        lItem.SubItems(1) = rec.Fields("posid")
        lItem.SubItems(2) = rec.Fields("operid")
        lItem.SubItems(3) = rec.Fields("opername")
        lItem.SubItems(4) = rec.Fields("logtime")
        lItem.SubItems(5) = rec.Fields("logtype")
        rec.MoveNext
    Loop

--------------

 

我找了一个解决的方法   问题是出在了显式声明 lItem 

去掉  dim lItem as ListItem  之后 就不报错了(13    Type mismatch)

可是我不知道原因是什么

lvpos.ListItems.Add(, , rec.Fields("DEPTNAME")) 返回的不也是 ListItem 类型吗

这和 lItem  怎么会类型不匹配呢

 

 

调试的时候 lvpos.ListItems.Add(, , rec.Fields("DEPTNAME"))   添加监视,发现类型是  IListItem  ,这就奇怪了,难道类型不匹配是出在这里?