1

データテーブルには、Fld_primaryという名前の列が含まれています。この列には0.00のような値が含まれています。これはmysqlテーブルのdoubleデータ型です。そのデータテーブル値をdouble変数に格納します。doubleデータ型に変換すると、常にエラーが発生します。

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

最新のスクリーンキャップを使用して午前3時1分に編集。

時々私は人々の答えに基づいて特定のコードを推測することに気付くことがありますが、私は先に進んで、彼らがすべて使用しているコードが有効であるかどうかを確認するために時間をかけました: ここに画像の説明を入力してください

ご覧のとおり、コードは使用できません。そのため、下部に表示されている正しいコードを使用して列を参照しました。

ただし、単一のセルを取得する場合は、foreachループを使用する以下のコードのチャンクを使用します(残りは、それがどのように機能するかを示すための基本的な設定です)。

ここに画像の説明を入力してください

「Y」はデータテーブルセルの値と等しくなり、Double.Parse()メソッドを使用して変換できます。

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

複数の行がある場合は、すべての行を通過するときにyの値が変化することに注意してください。

于 2012-06-21T07:47:06.337 に答える
3

Convertクラスを使用して変換できます。

Dim dttot As Double = Convert.ToDouble(ds5("fld_primary"))
于 2012-06-21T09:10:03.503 に答える
1

エラーは実際には次のとおりです。ds5パラメータとして整数を期待しているためds5("fld_primary")、コードでの使用は無効です。おそらくあなたは試すことができますds5(0)("fld_primary")

修正後、

dttot = Double.Parse(whatever_string_you_should_put_here)

文字列が有効である必要があることを確認できない場合はdouble、を使用してDouble.TryParseください。

于 2012-06-21T07:22:23.957 に答える
1

'Double.TryParse'変換方法を使用すると、エラーがより適切に処理され、成功したかどうかにかかわらずブール値が返されます。'parse'を使用すると、エレガントに近い例外がスローされます。

Dim dub as Double = 0
Double.TryParse("Your String Here", dub)
于 2012-06-21T08:25:22.430 に答える
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 に答える