首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >必须声明标量变量"@Modifier“

必须声明标量变量"@Modifier“
EN

Stack Overflow用户
提问于 2017-03-16 19:20:32
回答 2查看 48关注 0票数 0

几个小时以来,我一直在努力找出我做错了什么。我正在尝试将记录添加到我的数据库中,但是我无法这样做,因为我得到的错误是“必须声明标量变量”@Modifier“”。“我注意到其他人也有类似的问题,但我不能对我的代码应用相同的修复。

代码语言:javascript
复制
    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
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-16 19:22:19

你写的是@Modifer而不是@Modifier

代码语言:javascript
复制
com.Parameters.Add("@Modifer", SqlDbType.VarChar).Value = currentWeapon.Modifier
                          ^
票数 1
EN

Stack Overflow用户

发布于 2017-03-16 19:22:29

你有一个拼写错误:@Modifer@Modifier

在查询中,您可以使用@Modifier

代码语言:javascript
复制
"INSERT INTO Weapons (Name, APPower, HEPower, Range, Modifier) 
VALUES(@name, @APPower, @HEPower, @Range, @Modifier)"

但是在命令上将参数名称指定为@Modifer

代码语言:javascript
复制
com.Parameters.Add("@Modifer", SqlDbType.VarChar).Value = currentWeapon.Modifier
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42832647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档