【发布时间】: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