0
数据类型费用为int在SQL Server数据库请指导如何将字符串值转换为整数,在vb.net
费用的,我从表中费用得到价值
'Total Expenses B/W Dates
sql = "select COALESCE (SUM (amount), 0) from tblexpense Where transactiondate >= @p1 and transactiondate <= @p2"
CmdObj = New SqlCommand(sql, ConObj)
CmdObj.Parameters.Add("@p1", SqlDbType.Date).Value = DateTimePicker1.Value.Date
CmdObj.Parameters.Add("@p2", SqlDbType.Date).Value = DateTimePicker2.Value.Date
CmdObj.ExecuteScalar()
Dim sumexpense As Integer = CmdObj.ExecuteScalar
LblExp.Text = "Rs. " & sumexpense
保存按钮保存费用的价值为表
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
ConObj = New SqlConnection(ConStr)
ConObj.Open()
Dim sql As String = "insert into tblbalance (tcon,pcon,ecoll,pendcoll,expense,bcoll,nprofit) values(@tcon,@pcon,@ecoll,@pendcoll,@expense,@bcoll,@nprofit)"
With CmdObj
.Parameters.Add("@tcon", SqlDbType.Int).Value = lblTcon.Text
.Parameters.Add("@pcon", SqlDbType.Int).Value = LblPcon.Text
.Parameters.Add("@ecoll", SqlDbType.Int).Value = LblEColl.Text
.Parameters.Add("@pendcoll", SqlDbType.Int).Value = LblPColl.Text
.Parameters.Add("@expense", SqlDbType.Int).Value = LblExp.Text
.Parameters.Add("@bcoll", SqlDbType.Int).Value = LblBcoll.Text
.Parameters.Add("@nprofit", SqlDbType.Int).Value = LblNet.Text
End With
CmdObj.Connection = ConObj
CmdObj.ExecuteNonQuery()
MsgBox("Saved Successfully")
ConObj.Close()
End Sub
你应该使用相同的参数化的语句升你在你的第一块代码中做过。然后确保lblExp.Text可以解析为一个整数,以确保来自用户的输入可以匹配类型,并在成功解析时将该变量传递给您的参数。 –
我试过但没有成功...从字符串转换为整数无效 –
您是否修复了使用参数的语句?因为在当前版本中,注入的值仍然被包含撇号,并且包含带撇号的值表示字符串类型而不是数字类型。参数也可以解决这个问题。 –