- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
有没有办法使用 System.Data.OracleClient 将参数添加到 IN 子句。
例如:
string query = "SELECT * FROM TableName WHERE UserName IN (:Pram)";
OracleCommand command = new OracleCommand(query, conn);
command.Parameters.Add(":Pram", OracleType.VarChar).Value = "'Ben', 'Sam'";
最佳答案
您可以将其包装在 OracleCommandExtension 方法中:
public static class OracleCommandExtension
{
public static OracleCommand AddParameterCollection<TValue>(this OracleCommand command, string name, OracleType type, IEnumerable<TValue> collection)
{
var oraParams = new List<OracleParameter>();
var counter = 0;
var collectionParams = new StringBuilder(":");
foreach (var obj in collection)
{
var param = name + counter;
collectionParams.Append(param);
collectionParams.Append(", :");
oraParams.Add(new OracleParameter(param, type) { Value = obj });
counter++;
}
collectionParams.Remove(collectionParams.Length - 3, 3);
command.CommandText = command.CommandText.Replace(":" + name, collectionParams.ToString());
command.Parameters.AddRange(oraParams.ToArray());
return command;
}
}
关于c# - OracleParameter 和 IN 子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/541466/
我在运行我的代码以从 Oracle DB 获取数据时出现以下错误。 [A]Oracle.ManagedDataAccess.Client.OracleParameter cannot be cast
在 DAL 中开发使用 ODP .NET 的应用程序时,总是设置 OracleParameter 的 Size 属性非常烦人。例如: getSPTimeCommand.Parameters.Add("
有没有办法使用 System.Data.OracleClient 将参数添加到 IN 子句。 例如: string query = "SELECT * FROM TableName WHERE Use
我正在尝试将两行插入到表中(sequentiel)。执行第一个插入命令没有任何问题。第二个插入命令卡在 ExecuteNonQuery() 部分。当我删除返回部分(OracleParameter 和
如下面所示的代码,我想从 OracleParameter 对象获取值。它的数据类型是日期时间。 ... Dim cmd As New OracleCommand("stored_proc_name",
如下面所示的代码,我想从 OracleParameter 对象获取值。它的数据类型是日期时间。 ... Dim cmd As New OracleCommand("stored_proc_name",
我们在 Oracle 数据库中有一个表,其中包含一个类型为 Char(3 Byte) 的列。 现在我们使用参数化的 sql 来选择一些带有 DBNull.Value 的行,但它不起作用: Oracle
我想使用 ODP.NET 在 Oracle 数据库上运行各种查询,并且我想在查询中使用参数。这是一个简单的示例片段(省略了 OracleConnection 的所有明显设置位): string que
如下代码所示,我想在数据库表(oracle 11)中插入一行并返回插入行的String-Value。 using (OracleCommand cmd = con.CreateCommand()) {
我有一个这样的存储过程调用: using (OracleConnection con = new OracleConnection(ConfigurationManager.AppSettings["
我正在使用 OracleClient 库版本 1.0.5000.0,我对 OracleParameter 类及其 ICloneable 的实现感到困惑。 这是 OracleParameter 类的定义
我进行了广泛的搜索,但找不到任何相关示例。 我有一个 TimeSpan 类型的 .NET 变量,我需要将它放入 Oracle 数据库的 IntervalDayToSecond 记录中。 引用http:
在谷歌搜索了很多并没有找到我要找的东西之后,我决定问这个问题。 我正在使用来自 的这篇很棒的文章中演示的绑定(bind)变量。 2005 标题 The Values That Bind马克 A. 威廉
为了防止SQL注入(inject)。我需要将我的代码从简单的 String 更改为 OracleParameter。此外,我需要绕过 LINQ,因为它在我的 WHERE CLAUSE 中有限制,您可以
我正在使用 ADO.Net 在 Oracle 数据库中调用存储过程。存储过程有一个输出参数,它是一个 NVARCHAR2。下面是存储过程: CREATE OR replace PROCEDURE VA
我是一名优秀的程序员,十分优秀!