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

在VB中尝试将数据库查询结果填充到ListView时遇到类型不匹配的问题。错误发生在`lvpos.ListItems.Add`,尽管`lvpos.ListItems.Add`返回的应该是`ListItem`类型,但实际类型显示为`IListItem`,导致13号错误。通过删除`Dim lItem as ListItem`的显式声明,问题得到解决,但原因未明。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据表
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  ,这就奇怪了,难道类型不匹配是出在这里?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值