解决Oracle in 超过1000个问题 C#拼接字符串
2014-10-29 10:18
761 查看
private string getOracleSQLIn(string[] ids, string field)
{
int count = Math.Min(ids.Length, 1000);
int len = ids.Length;
int size = len % count;
if (size == 0)
{
size = len / count;
}
else
{
size = (len / count) + 1;
}
StringBuilder builder = new StringBuilder();
for (int i = 0; i < size; i++)
{
int fromIndex = i * count;
int toIndex = Math.Min(fromIndex + count, len);
string productId = string.Join("','", getArrayValues(fromIndex, toIndex, ids).ToArray());
if (i != 0)
{
builder.Append(" or ");
}
builder.Append(field).Append(" in ('").Append(productId).Append("')");
}
return builder.ToString();
}
public List<string> getArrayValues(int fromindex, int toindex, string[] array)
{
List<string> listret = new List<string>();
for (int i = fromindex; i < toindex; i++)
{
listret.Add(array[i]);
}
return listret;
}
{
int count = Math.Min(ids.Length, 1000);
int len = ids.Length;
int size = len % count;
if (size == 0)
{
size = len / count;
}
else
{
size = (len / count) + 1;
}
StringBuilder builder = new StringBuilder();
for (int i = 0; i < size; i++)
{
int fromIndex = i * count;
int toIndex = Math.Min(fromIndex + count, len);
string productId = string.Join("','", getArrayValues(fromIndex, toIndex, ids).ToArray());
if (i != 0)
{
builder.Append(" or ");
}
builder.Append(field).Append(" in ('").Append(productId).Append("')");
}
return builder.ToString();
}
public List<string> getArrayValues(int fromindex, int toindex, string[] array)
{
List<string> listret = new List<string>();
for (int i = fromindex; i < toindex; i++)
{
listret.Add(array[i]);
}
return listret;
}
相关文章推荐
- Ora-03113\Ora-03114与Oracle In 拼接字符串的问题
- oracle的in里面的 参数不能超过1000个,解决方法,拆成 in () or in()
- 解决Ruby的Oracle接口读写超过4K字符串的问题
- 解决oracle in 超过1000 报错问题
- oracle 使用IN 不能超过1000问题的解决(oracle中列表中的最大表达式数为 1000)
- oracle中由两个字符串拼接成别名的问题
- 解决C#中用Oracle执行存储过程返回DataSet的问题
- 整数与字符串的拼接问题的解决
- C#中,仿效Java中,SQL参数以?替代的做法,解决IN的防注入问题
- 解决oracle 10g 问题之ORA-01078: failure in processing system parameter...
- 解决C#中用Oracle执行存储过程返回DataSet的问题
- oracle 10G :ora-01033 oracle initialization or shutdown in progress 问题解决
- 运用ORACLE的OO4O类库函数解决调用存储过程向远程数据库上传超过32K图片失败的问题
- oracle ora-01033:oracle initialization or shutdown in progress问题解决
- PHP处理中文字符串中的特殊字符解决Oracle插入报错的问题
- 解决oracle 11g 问题之ORA-01078: failure in processing system parameters
- 如何解决大量字符串的拼接操作的耗时问题
- oracle9问题解决:oracle initialization or shutdown in progress
- 代码解决Oracle in列表过长问题
- oracle多个结果集拼接字符串;where id in 字符串