You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET中DataTable表达式列报错:无法对Double与String执行*操作

VB.NET DataTable表达式列报错:Cannot perform '*' operation on System.Double and System.String

问题场景

在VB.NET中使用DataTable的表达式列功能时,加载数据后部分列正常显示,部分列触发如下错误:

Cannot perform '*' operation on System.Double and System.String

原操作流程:

  • 从DataReader加载数据到DataTable
  • 为预定义列设置表达式
  • 将DataTable数据渲染到HTML表格

错误原因

核心问题是表达式列的创建顺序不符合依赖关系:例如提前创建了依赖未定义列的Ivap列,导致DataTable无法正确识别依赖列的数值类型,误将其当作字符串处理,最终在执行乘法运算时出现类型不匹配。

解决步骤

调整列的创建与配置顺序,确保依赖链的正确性:

  1. 先创建所有基础数值列,完成DataReader的数据加载
  2. 按照依赖顺序依次添加表达式列:PCONDT → EXENT → PCONIVA → Ivap

通过这种方式,每个表达式列依赖的前置列都已存在且数据类型明确,DataTable可正常解析表达式中的运算逻辑,避免类型错误。

内容的提问来源于stack exchange,提问作者Pablo Campos

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 18:33:35