【问题标题】:Pass integer value of radio button to sql server 2008将单选按钮的整数值传递给 sql server 2008
【发布时间】:2011-04-29 17:40:25
【问题描述】:

我正在尝试将单选按钮的值传递给我的数据库。当未选中单选按钮时,值 2 传入没有问题。当单选按钮被选中时,值不会传递到数据库。我收到错误:“输入字符串的格式不正确”。下面是代码:

Dim rbval As Integer
    rbval = Convert.ToInt16(RadioButton1.Checked)
    rbval = Int16.Parse(RadioButton1.Checked)
    If RadioButton1.Checked Then
        rbval = 1
    Else
        rbval = 2
    End If
    cmd.Parameters.Add(New SqlParameter("@ethics", SqlDbType.Int))
    cmd.Parameters("@ethics").Value = rbval

我相信只要看到它就很简单!

【问题讨论】:

标签: asp.net sql-server vb.net


【解决方案1】:

您的代码读取为Int16.Parse(RadioButton1.Checked)。问题在于 RadioButton1.Checked 返回一个布尔值而不是整数值,因此会发生解析错误。

根据您的代码,您可能可以删除这些行并且一切正常:

 rbval = Convert.ToInt16(RadioButton1.Checked)
    rbval = Int16.Parse(RadioButton1.Checked)

所以我想你的代码应该是这样的:

Dim rbval As Integer
If RadioButton1.Checked Then
    rbval = 1
Else
    rbval = 2
End If
cmd.Parameters.Add(New SqlParameter("@ethics", SqlDbType.Int))
cmd.Parameters("@ethics").Value = rbval

【讨论】:

  • 好的,我将其更改为以下内容:cmd.Parameters.Add(New SqlParameter("@ethics1", SqlDbType.VarChar)) cmd.Parameters("@ethics1").Value = RadioButton1。已选中 未选中单选按钮时它工作正常(0 返回到 DB),当它被选中时我得到错误。
  • 你可以保持原样的那部分。只删除我指出的 2 行,一切正常
  • 我也试过了,但没用。然后我想试试varchar。检查单选按钮时,该值不会传递到数据库。 span>
  • 您的表格结构似乎不是一成不变的。我会将字段类型更改为bit,并按原样将.checked 的值作为基础。
  • 我试过这个(位)并且“false”通过但 True 没有,我错过了什么? cmd.Parameters.Add(New SqlParameter("@ethics1", SqlDbType.Bit)) cmd.Parameters("@ethics1").Value = RadioButton1.Checked
猜你喜欢
  • 1970-01-01
  • 2011-03-13
  • 2012-09-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多