几个小时以来,我一直在努力找出我做错了什么。我正在尝试将记录添加到我的数据库中,但是我无法这样做,因为我得到的错误是“必须声明标量变量”@Modifier“”。“我注意到其他人也有类似的问题,但我不能对我的代码应用相同的修复。
Dim dbConnection As SqlConnection = connectToDb()
Dim sqlString As String
If currentWeapon.Id > 0 Then
sqlString = "Update Weapons Set Name = @name"
Else
sqlString = "INSERT INTO Weapons (Name, APPower, HEPower, Range, Modifier) VALUES(@name, @APPower, @HEPower, @Range, @Modifier)"
lastWeaponId += 1
currentWeapon.Id = lastWeaponId
End If
Dim com As New SqlCommand(sqlString, dbConnection)
com.Parameters.Add("@name", SqlDbType.VarChar).Value = currentWeapon.Name
com.Parameters.Add("@APPower", SqlDbType.Int).Value = currentWeapon.APPower
com.Parameters.Add("@HEPower", SqlDbType.Int).Value = currentWeapon.HEPower
com.Parameters.Add("@Range", SqlDbType.Int).Value = currentWeapon.Range
com.Parameters.Add("@Modifer", SqlDbType.VarChar).Value = currentWeapon.Modifier
Try
Dim result = com.ExecuteNonQuery()
MessageBox.Show(result.ToString)
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try发布于 2017-03-16 19:22:19
你写的是@Modifer而不是@Modifier
com.Parameters.Add("@Modifer", SqlDbType.VarChar).Value = currentWeapon.Modifier
^发布于 2017-03-16 19:22:29
你有一个拼写错误:@Modifer与@Modifier。
在查询中,您可以使用@Modifier
"INSERT INTO Weapons (Name, APPower, HEPower, Range, Modifier)
VALUES(@name, @APPower, @HEPower, @Range, @Modifier)"但是在命令上将参数名称指定为@Modifer
com.Parameters.Add("@Modifer", SqlDbType.VarChar).Value = currentWeapon.Modifierhttps://stackoverflow.com/questions/42832647
复制相似问题