【问题标题】:Other Computer Show Input String was not in correct format其他计算机显示输入字符串的格式不正确
【发布时间】:2017-12-05 14:41:02
【问题描述】:

我在将 VB.NET 应用程序安装到其他计算机时遇到问题。

当按下按钮添加并选择项目时,程序说输入字符串格式不正确。 我的数据表声明在这里:

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

这里是存储过程:

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

问题仅在其他计算机上显示,但我的没问题是代码或计算机上的问题?

【问题讨论】:

  • 如果有办法让我们知道异常发生在哪一行以及发生时的实际输入字符串是什么。
  • 可能的罪魁祸首是不同机器上的不同日期或数字格式设置,而代码采用特定格式。不过,这只是一个有根据的猜测,基于其他时间我已经看到该错误消息以及它并非无处不在的事实。不过,我们需要所有相关信息才能确定。

标签: sql-server vb.net


【解决方案1】:

在测试了一些样本后,我已经找到了自己的答案。

这个问题的答案是因为我的计算机使用英语(美国)和其他计算机使用不同格式(印度尼西亚语、印度、新加坡等)的区域和语言

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-29
    • 2022-01-23
    • 2013-08-22
    相关资源
    最近更新 更多