1
我試圖插入來自TextBox
一個STRING
到具有MONEY DATA TYPE
但錯誤提示COLUMN
出現,並說:出錯,不能添加耐心等待!不允許將數據類型nvarchar隱式轉換爲數據類型money,表'TblName',列'pTotalDue'。使用CONVERT功能運行此查詢字符串到money數據類型的SQL SERVER
我該如何CONVERT它?有人能告訴我該怎麼做嗎?
這裏是我的代碼:
Private Function INSERT() As String
Dim SQLcon As New SqlConnection
Dim SQLdr As SqlDataReader
Try
SQLcon.ConnectionString = "Data Source=#####;Initial Catalog=#####;Persist Security Info=True;User ID=#####;Password=#####"
Dim SQLcmd As New SqlCommand("INSERT INTO dbo.Patients" & _
"(pIDNo,pLName,pFName,pMI,pSex,pStatus,pTelNo,pDocID,pAddr,pStreet,pBarangay,pCity,pProvince,pLNameKIN,pFNameKIN,pMIKIN,pRelationKIN,pTotalDue)" & _
"VALUES(@pIDNo,@pLName,@pFName,@pMI,@pSex,@pStatus,@pTelNo,@pDocID,@pAddr,@pStreet,@pBarangay,@pCity,@pProvince,@pLNameKIN,@pFNameKIN,@pMIKIN,@pRelationKIN,@totaldue)", SQLcon)
SQLcmd.Parameters.AddWithValue("@pIDNo", txtPNumber.Text)
SQLcmd.Parameters.AddWithValue("@pLName", txtLname.Text)
SQLcmd.Parameters.AddWithValue("@pFName", txtFname.Text)
SQLcmd.Parameters.AddWithValue("@pMI", txtMI.Text)
SQLcmd.Parameters.AddWithValue("@pSex", txtPatientSex.Text)
SQLcmd.Parameters.AddWithValue("@pStatus", txtStatus.Text)
SQLcmd.Parameters.AddWithValue("@pTelNo", txtPatientTelNo.Text)
SQLcmd.Parameters.AddWithValue("@pDocID", txtPatientDoctor.Text)
SQLcmd.Parameters.AddWithValue("@pAddr", txtStreetNumber.Text)
SQLcmd.Parameters.AddWithValue("@pStreet", txtStreetName.Text)
SQLcmd.Parameters.AddWithValue("@pBarangay", txtBarangay.Text)
SQLcmd.Parameters.AddWithValue("@pCity", txtCity.Text)
SQLcmd.Parameters.AddWithValue("@pProvince", txtProvince.Text)
SQLcmd.Parameters.AddWithValue("@pLnameKIN", txtKinLname.Text)
SQLcmd.Parameters.AddWithValue("@pFnameKIN", txtKinFname.Text)
SQLcmd.Parameters.AddWithValue("@pMIKIN", txtKinMI.Text)
SQLcmd.Parameters.AddWithValue("@pRelationKIN", txtRelationToPatient.Text)
SQLcmd.Parameters.AddWithValue("@totaldue", txtTotalDue.Text)
SQLcon.Open()
MsgBox("Patient Added!", MsgBoxStyle.Information)
SQLdr = SQLcmd.ExecuteReader()
Catch ex As Exception
MessageBox.Show("Error Occured, Can't Add Patient!" & ex.Message)
Finally
SQLcon.Close()
End Try
Return ""
End Function
BTW我目前使用SQL Server的版本是2005年
ok sir Tahbaza I wi我會嘗試一下並告訴你結果是什麼。 – Danjor 2013-02-15 02:16:11
謝謝!它的工作,但我有我的程序上的表我的另一個問題..., 我輸入200,但結果是,SQL SERVER'200.00',但在我的表'200.0000',我可以操縱結果相同的結果在SQL SERVER上? – Danjor 2013-02-15 02:19:26
200與200.0000相同。通過爲數據庫表中的列選擇貨幣數據類型,您明確選擇了字段的大小和精度。有關詳細信息,請參閱http://msdn.microsoft.com/en-us/library/ms179882(v=sql.90).aspx。 – Tahbaza 2013-02-15 02:22:30