【发布时间】:2016-12-28 21:25:08
【问题描述】:
我从我的Try catch 收到此错误消息:
参数化查询 '(@UserID int, @date date, @BreakfastLevels float, @LunchLevels floa' 需要参数 '@UserID',但未提供该参数
该代码旨在将值从表单放入数据网格视图并将它们插入到数据库中的表中,但是我收到上面的错误消息。我对编码还是很陌生,真的需要这里的帮助。
这是我的代码:
Private Sub UpdateButton_Click(sender As Object, e As EventArgs) Handles UpdateButton.Click
Dim con As New SqlConnection(My.Settings.DiabetesServerConStr)
Dim insertNewValues As New SqlCommand()
insertNewValues.Connection = con
insertNewValues.Parameters.Add("@UserID", SqlDbType.Int)
insertNewValues.Parameters.Add("@Date", SqlDbType.Date).Value = Date.Today()
insertNewValues.Parameters.Add("@BreakfastLevels", SqlDbType.Float)
insertNewValues.Parameters.Add("@LunchLevels", SqlDbType.Float)
insertNewValues.Parameters.Add("@DinnerLevels", SqlDbType.Float)
insertNewValues.Parameters.Add("@BedLevels", SqlDbType.Float)
insertNewValues.Parameters.Add("@BreakfastCarbs", SqlDbType.Float)
insertNewValues.Parameters.Add("@LunchCarbs", SqlDbType.Float)
insertNewValues.Parameters.Add("@DinnerCarbs", SqlDbType.Float)
insertNewValues.Parameters.Add("@BreakfastInsulin", SqlDbType.Float)
insertNewValues.Parameters.Add("@LunchInsulin", SqlDbType.Float)
insertNewValues.Parameters.Add("@DinnerInsulin", SqlDbType.float)
Dim parcomstr As String = "INSERT INTO BloodSugarDiary (UserID, Date, BreakfastLevels, LunchLevels, DinnerLevels, BedLevels, BreakfastCarbs, LunchCarbs, DinnerCarbs, BreakfastInsulin, LunchInsulin, DinnerInsulin)VALUES (@UserID, @Date, @BreakfastLevels, @LunchLevels, @DinnerLevels, @BedLevels, @BreakfastCarbs, @LunchCarbs, @DinnerCarbs, @BreakfastInsulin, @LunchInsulin, @DinnerInsulin)"
insertNewValues.CommandText = parcomstr
Try
con.Open()
insertNewValues.ExecuteNonQuery()
con.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
con.Dispose()
End Sub
【问题讨论】:
-
您将
@UserID声明为参数,但您从未为其提供值。 (您只提供了@Date参数的值) -
那么我应该添加什么?抱歉,我还是编码新手。
标签: sql sql-server visual-studio