2016-08-07 16 views
0

私のデータベースには、ms-accessテーブル 'クライアント'が含まれています。このテーブルには、(ClientName、ClientPhone、ClientAddress、ClientCredit、ClientDes)__ ok!私のソフトウェアvb.netにClientCreditのすべての値を追加したい。私はこのコードとその仕事を使用しますが、私はそれが私に間違った価値を与えます!値の取得msアクセスとすべての値の追加Vb.Net

Dim credit As Double = 0  
Try 
    Dim dt As DataTable = New DBConnect().selectdata(_ 
      "SELECT ClientName, ClientPhone, ClientAddress, ClientCredit, ClientDes FROM Client;") 
    For i As Integer = 0 To dt.Rows.Count - 1 
     credit = dt.Rows(0)(3).ToString + credit 
    Next 
Catch ex As Exception 
    MessageBox.Show(ex.Message) 
End Try 
FlatTextBox1.Text = credit  

このコードは、私は結果を与える:400本当の結果はあなたがループ内でインデックスiを使用していない415.2

答えて

0

です。

あなたはループを避けることができ

(..nextのため削除)とのDataTableの計算方法を使用します:

 credit = dt.Compute("Sum(ClientCredit)", ""); 
行(ⅰ)ない行(0)

For i As Integer = 0 To dt.Rows.Count - 1 
     //credit = dt.Rows(0)(3).ToString + credit     
     // credit is double, why ToString 
     credit = Convert.ToDuble(dt.Rows(i)(3)) + credit   
    Next 

他の解決策になると、コードを変更します

0

あなたの合計行:

credit = dt.Rows(0)(3).ToString + credit 

読みください

credit += TryCast(dt.Rows(i)(3), Double) 
関連する問題