我从Try catch
收到此错误消息:
参数化查询'(@ UserID int,@ date date,@ RackfastLevels 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
答案 0 :(得分:0)
为Siyual建议指定@UserID
参数的值,与@Date
参数已有的相同:
insertNewValues.Parameters.Add("@UserID", SqlDbType.Int).Value = 1
将1
替换为您想要的任何静态值,或将包含您希望插入的相关值的变量替换为BloodSugarDiary.UserID
。您可能希望以相同的方式为其他参数指定值,除非您不想为这些列插入值。