【问题标题】:Adding Oracle parameter in an If statement not working在 If 语句中添加 Oracle 参数不起作用
【发布时间】:2011-05-20 22:17:47
【问题描述】:

这个问题是我上一个问题的分支here

我现在可以向我的查询添加多个参数,但我的下一个问题是我正在尝试根据checkedcheckbox 状态添加我的参数

这是我的代码

OracleConn.Open()
OracleCommand = OracleConn.CreateCommand()
OracleCommand.BindByName = True
OracleCommand.CommandText = "UPDATE db SET column1 = :param1 WHERE column2 = :param2"
OracleCommand.CommandType = CommandType.Text
OracleCommand.Parameters.Add(New OracleParameter("param1", "1234"))

If cbCheckbox1.Checked = True Then
    OracleCommand.Parameters.Add(New OracleParameter("param2", "Y"))
Else
    OracleCommand.Parameters.Add(New OracleParameter("param2", "N"))
End If

OracleCommand.ExecuteNonQuery()

不会出错,但也不会更新数据库

如果我取出If 语句并且像这样只有一个参数

OracleCommand.Parameters.Add(New OracleParameter("param2", "Y"))

然后就可以正常使用了

是不是我做错了什么?

有什么想法吗?

【问题讨论】:

  • “不起作用”是什么意思?它会抛出错误吗?
  • @Dan 它不会抛出错误,它什么也不做,但如果我取出 If 语句,那么它运行良好
  • 您的意思是删除 if 块并仅将其替换为参数添加行吗?哪一个?
  • 如果我删除 If 块并将其替换为任一参数添加行,那么它可以工作

标签: asp.net oracle parameters


【解决方案1】:

我通过将我的复选框数据绑定在 If Not Page.IsPostBack 中解决了这个问题并解决了问题

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-05-22
    • 1970-01-01
    • 2012-07-16
    • 2021-04-23
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 2016-04-25
    相关资源
    最近更新 更多