如何在 asp.net 中使用绑定变量(在按钮后面)?

Posted

技术标签:

【中文标题】如何在 asp.net 中使用绑定变量(在按钮后面)?【英文标题】:How to use bind variable in asp.net (behind of button)? 【发布时间】:2014-01-29 15:44:38 【问题描述】:

我用过一次,将pl/sql中的变量与存储过程绑定。 (加快我的查询结果)。

例如在存储过程中我是这样使用它的:

创建或替换过程 dsal(p_empno in number) 作为 开始 立即执行 '更新雇员集 sal = sal*2 where empno = :x' using p_empno; 犯罪; 结尾;

现在,我的查询在前端,(asp.net(vb)和pl/sql)不在存储过程中。 我想在字符串查询中使用绑定变量。

如何在前端(按钮后面)使用这种结构?

【问题讨论】:

好吧,如果你使用 ado.net,有很多文档化的例子。 将 UPDATE 命令文本放入 .NET 代码或将其作为动态 sql 放入存储过程之间没有任何好处。 存储过程中的commit也是不好的形式。让客户这样做。 【参考方案1】:

x而不是使用带有动态 SQL 的存储过程...

在存储过程中使用 ADO.NET 而不是动态 SQL。您可以像这样使用绑定变量:

OracleCommand command;
...
command.CommandType = CommandType.Text;
command.CommandText = "UPDATE emp SET sal = sal*2 WHERE empno = :x";
command.Parameters.Add("x", someValue);
...
command.ExecuteNonQuery();
...

或者,使用存储过程,但不要像这样使用动态 SQL:

create or replace procedure dsal(p_empno in number) as
begin
     UPDATE emp SET sal = sal*2 WHERE empno = p_empno;
end;

【讨论】:

以上是关于如何在 asp.net 中使用绑定变量(在按钮后面)?的主要内容,如果未能解决你的问题,请参考以下文章

asp.net后台给动态button按钮写事件

如何将 Dictionary<string, string> 变量从后面的代码传递到 asp.net?

如何在 ASP.NET Web 窗体环境中使用 DLL?

从页面后面的代码显示时,JQuery 对话框上的按钮焦点不起作用 - asp.net / c#

如何在淘汰赛中绑定单选按钮的名称属性

如何使用asp.net按钮通过jquery进行验证然后进入后台代码web表单