【问题标题】:in vb.net, why do I get an error when reading mysql query results?在 vb.net 中,为什么我在读取 mysql 查询结果时会出错?
【发布时间】:2013-07-17 20:20:18
【问题描述】:

不知道如何表达这个问题。让我解释一下我的问题,我正在查询一个具有账面价值和取消价值的表,所以我执行以下操作:

select book_value, cancel_value, (book_value - cancel_value) as total_value from mytable

在 mysql 工作台中,这正是我想要的。现在,当我从 vb.net 查询时,我收到以下错误:

System.InvalidCastException: Conversion from string "total_value: " to type 'Double' is not valid. ---> 
System.FormatException: Input string was not in a correct format.   
at Microsoft.VisualBasic.CompilerServices.Conversions.ParseDouble(String Value, NumberFormatInfo NumberFormat)   
at Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat) 
  --- End of inner exception stack trace ---   at  Microsoft.VisualBasic.CompilerServices.Conversions.ToDouble(String Value, NumberFormatInfo NumberFormat)
  at Microsoft.VisualBasic.CompilerServices.Operators.AddObject(Object Left, Object Right)   
at cust_info_Default2.Page_Load(Object sender, EventArgs e) 
in line 32

好的,所以我不能将双精度数转换为字符串,这很好。那么如何编写一个返回相同内容的查询,而不是将该列设为“double”,而是作为字符串返回?

任何其他想法将不胜感激!

编辑: 引发错误的代码是

        cmd.CommandText = "select book_value, cancel_value, (book_value - cancel_value) as total_value from mytable"
        reader = cmd.ExecuteReader()

编辑 2: 在引发异常的地方没有采取正确的部分...抱歉造成混淆!

listy.Items.Add(col_list(u) + ": " + reader(col_list(u)))

col_list 包含阅读器返回的列名。 u 是我在 for 循环中使用的变量。而 listy 是一个列表框,其创建方式类似于

Dim listy As New ListBox

在 for 循环内部。

【问题讨论】:

  • 也许您应该显示引发异常的代码。
  • 根据例外情况,您不会尝试将数值转换为double。您正在尝试将 文字字符串 "total_value: " 转换为 double,这显然是行不通的。至于为什么会出现这个错误,不看代码是不可能知道的。
  • 将代码发布到您将数据从数据库结果集映射到 .NET 对象的位置。
  • 对不起...我把代码放在引发异常的地方。
  • reader(col_list(u)).ToString() 有帮助吗?

标签: asp.net mysql sql vb.net


【解决方案1】:

改变这一行

listy.Items.Add(col_list(u) + ": " + reader(col_list(u)))

listy.Items.Add(col_list(u) & ": " & reader(col_list(u)))

【讨论】:

  • 问题已解决。但是没有人发布答案... reader(col_list(u)).ToString() 用于解决此问题。
猜你喜欢
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
  • 2010-10-17
  • 1970-01-01
  • 2013-08-05
  • 2018-02-27
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多