2017-12-05 14 views
0

他のコンピュータにVB.NETアプリケーションをインストールする際に問題があります。他のコンピュータの表示入力文字列が正しい形式でない

[ボタンの追加]を押して項目を選択すると、プログラムは入力文字列が正しい形式でないと言います。私のDataTableの宣言はここにある :

Private Sub prvFillDT() 
     dtSales = New DataTable 
     dtSales.Columns.Add("no", System.Type.GetType("System.String")) 
     dtSales.Columns.Add("goodscode", System.Type.GetType("System.String")) 
     dtSales.Columns.Add("goodsname", System.Type.GetType("System.String")) 
     dtSales.Columns.Add("information", System.Type.GetType("System.String")) 
     dtSales.Columns.Add("qty", System.Type.GetType("System.Double")) 
     dtSales.Columns.Add("price", System.Type.GetType("System.Double")) 
     dtSales.Columns.Add("discount", System.Type.GetType("System.Double")) 
     dtSales.Columns.Add("total", System.Type.GetType("System.Double")) 
End Sub 

そして、ここでボタンがコード

Dim arrFields() As String = {"GoodsCode", "GoodsName", "Stock", "UnitPrice"} 
Dim kn As SqlConnection = OpenKNS(Settings.ConnectionString) 
Dim cmd As SqlCommand = New SqlCommand("usp_is_Goods_SLC_01", kn) 
If fLookup.GetLookUpSP("List Goods", cmd, arrFields, "", "") Then 
    Try 
     If fLookup.pubLookUpDone Then 
      If arrFields(2) = "0" Then 
       MsgBox(arrFields(1) & " stock is not enough !") 
        Exit Sub 
      End If 
      bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "goodscode", arrFields(0)) 
      bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "goodsname", arrFields(1)) 
      bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "qty", 1) 
      bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "price", arrFields(3)) 
      bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "total", 1 * arrFields(3)) 
     End If 
    Catch ex As Exception 
    bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "goodscode", "") 
    bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "goodsname", "") 
    bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "qty", 0) 
    bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "price", 0) 
    bndReport2.SetRowCellValue(bndReport2.FocusedRowHandle, "total", 0) 
    End Try 
    bndReport2.UpdateSummary() 
End If 

を追加します。ここでのStoredProcedure:

SELECT GoodsCode,GoodsName,Stock, 
CONVERT(varchar,UnitPrice,1) UnitPrice 
FROM Ms_Goods WHERE [Status]=1 

問題は、他のコンピュータに表示されるが、私のコードやコンピュータ上の問題は問題ありませんか?

+0

唯一の私たちのために道があった場合どの行に例外がスローされたのか、そして実際の入力文字列は何が起こったのかを知ることができます。 – jmcilhinney

+0

コードが特定の形式を想定している間に、異なるマシン上で日付または数値の形式設定が異なる可能性があります。それはちょうど教育された推測ですが、私はそのエラーメッセージとそれがどこにも起こっていないという事実を見た他の時代に基づいています。私たちはすべての関連情報を確かめる必要があります。 – jmcilhinney

答えて

0

私は既にいくつかのサンプルをテストした後、私自身の答えを見つけました。

地域&言語私の英語(米国)を使用して、コンピュータと他のコンピュータが(など、インドネシア、インド、シンガポール等)別の形式を使用しているため、この質問に対する答えは

関連する問題