c# - C# 中的 Oracle 参数化查询

标签 c# oracle c#-4.0 ado.net sql-injection

string sqlCmd = @"SELECT r.row_id AS resp_id,
                         r.name AS resp_name
                  FROM srb.s_resp r,
                       srb.s_per_resp pr,
                       srb.s_contact c,
                       srb.s_user u
                  WHERE r.row_id = pr.resp_id
                    AND u.row_id = c.row_id
                    AND c.person_uid = pr.per_id
                    AND UPPER(u.login) = @login
                 ORDER BY r.name";

OracleConnection con = new OracleConnection(getConnectionString(username, password));
OracleCommand command = con.CreateCommand();

conSiebel.Open();
command.CommandType = CommandType.Text;
command.Connection = con;
command.CommandText = sqlCmd;

command.Parameters.Add(new OracleParameter("login", username));

IDataReader reader = command.ExecuteReader(CommandBehavior.CloseConnection);
reader.Close();

我正在尝试将 @login 参数添加到上述查询中,但它没有添加,任何人都可以帮我解决这个问题吗?

最佳答案

改用冒号 (:login)。

 string sqlCmd = @"SELECT  r.row_id AS resp_id,
                                    r.name AS resp_name
                            FROM    srb.s_resp r,
                                    srb.s_per_resp pr,
                                    srb.s_contact c,
                                    srb.s_user u
                            WHERE   r.row_id = pr.resp_id
                                    AND u.row_id = c.row_id
                                    AND c.person_uid = pr.per_id
                                    AND UPPER(u.login) = :login
                                    ORDER BY r.name";

关于c# - C# 中的 Oracle 参数化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41811897/

相关文章:

sql - 如何使用'as'关键字为Oracle中的表添加别名?

c# - 使用 javascript 进行 Asp.Net 中继器控制

c# - 通用方法,是否可以返回 StreamReader 实例?

c# - 从不同的线程关闭主应用程序

c# - C# 与 C++ 中虚拟调用的速度

c# - 使用 WinSCard 库获取 mifare 卡序列号

c# - 如何配置 IronPython.StdLib 2.7.3

c# - 重新设计 WPF 扩展工具包的 ChildWindow

oracle - 我可以使用 Oracle 触发器来强制 varchar 列适应列宽吗?

oracle - 在 Oracle SQL 开发人员中使用 Data Modeler(查看关系图)