1

数据表包含名为 Fld_primary 的列。此列包含 0.00 之类的值,它是 mysql 表中的双数据类型。我想将该数据表值存储在双变量中。当我转换为双数据类型时总是出错。

my code
------- 
Dim ds5 As dataset1.DTSUMDataTable = TA5.GetData(users)

Dim dttot As Double
dttot = CType(ds5("fld_primary").ToString, Double)

错误

 Conversion from string "fld_primary" to type 'Integer' is not valid.
4

6 回答 6

3

你可以使用Convert类转换它。

Dim dttot As Double = Convert.ToDouble(ds5("fld_primary"))
于 2012-06-21T09:10:03.503 回答
3

编辑@ 3:01 AM,使用最新的屏幕截图。

有时我发现自己会根据人们的答案再次猜测某些代码,但我继续并花时间检查他们都使用的代码是否有效: 在此处输入图像描述

如您所见,该代码是行不通的,因此我使用了您在底部看到的正确代码来引用一列。

但是,如果您希望获得单个单元格,请使用下面使用 foreach 循环的代码块(其余的是我的基本设置,向您展示它是如何工作的):

在此处输入图像描述

“Y”将等于数据表单元格的值,您可以使用 Double.Parse() 方法对其进行转换:

Dim y = Double.Parse(zDataRow("cat").ToString())

请注意,如果您有多行,您会注意到 y 的值会随着它穿过所有行而发生变化。

于 2012-06-21T07:47:06.337 回答
1

您最好使用“Double.TryParse”转换方式,因为这可以更好地处理任何错误,并且如果成功与否只返回一个布尔值,使用“解析”将抛出一个异常优雅的异常。

Dim dub as Double = 0
Double.TryParse("Your String Here", dub)
于 2012-06-21T08:25:22.430 回答
1

您的错误实际上是:ds5需要一个整数作为参数,因此 usingds5("fld_primary")在您的代码中无效。或许你可以试试ds5(0)("fld_primary")

修复后,使用

dttot = Double.Parse(whatever_string_you_should_put_here)

如果您不能确保您的字符串必须是有效的double,请使用Double.TryParse.

于 2012-06-21T07:22:23.957 回答
0

尝试使用Double.TryParse(text,value)

于 2012-06-21T07:25:06.843 回答
0

尝试使用这个:

  For a=0 to yourgridview.rows.count-1
Yourgridview.rows(a).cells(targetcolumnnumber).value=cdbl(Yourgridview.rows(a).cells(targetcolumnnumber).value)
Next
于 2018-08-02T19:39:05.023 回答