c#解决数据库用in的时候大于1000报错问题

问题:

//oracle数据库报错
delete from DD_ORDER_DETAIL where ORDERID=in(0,1,2,3,4,5,6,7.....1001);

c#写了一个方法解决

/// <summary>
        /// 拼接sql
        /// </summary>
        /// <param name="str">主sql语句</param>
        /// <param name="ids">要拼接的in里面的参数</param>
        /// <param name="count">每次执行条数</param>
        /// <returns></returns>
        public static string get(string str, string[] ids)
        {

            if (ids.Length > 0)
            {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < ids.Length; i++)
                {
                    if ((i % 1000) == 0 && i > 0)
                    {
                        sb.Remove(sb.Length - 1, 1);
                        sb.Append(") or " + str + "in(" + ids[i] + ",");
                    }
                    else
                    {
                        sb.Append(ids[i] + ",");
                    }
                }
                sb.Remove(sb.Length - 1, 1);

                return str + "in(" + sb.ToString() + ")";
            }
            return "";
        }

调用如下

 static void Main(string[] args)
        {
            string str = "delete from DD_ORDER_DETAIL where ORDERID =";
            string[] s = { };
            List<string> list = new List<string>();
            for (int i = 0; i < 1001; i++)
            {
                list.Add(i.ToString());
            }
            s = list.ToArray(); ;
            Console.WriteLine(s.Length);
            string ss = get(str, s);
            Console.ReadKey();
        }

效果如下

时间: 2024-10-29 19:12:02

c#解决数据库用in的时候大于1000报错问题的相关文章

【已解决】unity4.2.0f4 导出Android工程报错:Error building Player: ArgumentException: Illegal characters in path.

你看到的这个文章来自于http://www.cnblogs.com/ayanmw 使用unity3D开发的一个客户端,需要导出为Android工程,然后接入一些第三方android SDK. unity版本 操作系统为: OS 名称: Microsoft Windows 7 旗舰版 OS 版本: 6.1.7601 Service Pack 1 Build 7601 OS 制造商: Microsoft Corporation OS 配置: 独立工作站 OS 构件类型: Multiprocessor

解决 &#39;chromedriver&#39; executable needs to be in PATH.&#39;报错

试了把chromedriver.exe放到chrome安装文件下,python安装文件下,然后把路径配到path里,均无用. 最后是修改函数调用得以解决: from selenium import webdriver browser = webdriver.Chrome(executable_path = 'C:\Program Files (x86)\Google\Chrome\Application\chromedriver_X64.exe')browser.get('http://www.

解决appium 连接真机Android 9启动报错.....shell &quot;ps &#39;uiautomator&#39;

好久没有使用Appium了,感觉要从头开始了,正好换个电脑要重新装环境,装环境就不描述了,照着网上的资料就可以了,问题就出现在连接真机,手机是Android9,vivoZ5x,启动APP时候始终报错,提示....shell "ps 'uiautomator'. 网上搜了很多,但是如下的解决版本亲测有效. 在appium的安装目录,找到该目录下C:\soft\Appium\node_modules\appium\node_modules\appium-adb\lib的 adb.js 文件 1.找到

解决《利用python进行数据分析》P139报错问题 index must be monotonic increasing or decreasing

解决<利用python进行数据分析>P139报错问题 index must be monotonic increasing or decreasingframe.reindex(index=['a','b','c','d'],method='ffill',columns=states)报错:index must be monotonic increasing or decreasing 修改代码:把method=‘ffill’拿出来注意,是method的方法,参数ffill后面加"(

mysql数据库表字段使用DESC等关键字报错及解决方法

<!-- desc是MySQL数据库的关键字,作为字段名直接使用会报错 --> <sql id="Base_Column"> id,mol,ip,port,name,t.desc,maxAc,maxI,minI,maxW,status</sql> <!-- 查询列表 --> <select id="getTht" resultMap="BaseResultMap" parameterType=

解决 U盘安装Windows Server 2012 R2 报错 Windows 无法打开所需的文件 Sources\install.wim

报错原因: 使用UltraISO等软件刻录镜像时默认使用FAT32文件系统,该系统不支持大于4G的文件, 而Server 2012 R2的安装文件install.wim为5.12G,固安装失败. 解决方法: 按照以前的方法刻录镜像到U盘: 更改U盘文件系统: 进入命令行模式,输入 convert f: /fs:NTFS (F盘为我的U盘所在盘符) 然后打开镜像文件,找到Sources目录下的install.wim文件,复制到对应的U盘目录下. 问题解决!

解决 U盘安装Windows Server 2012 R2 报错

报错原因: 使用UltraISO刻录镜像时会更改U盘的文件格式为FAT32, 而Server 2012 R2的安装文件install.wim为5G多,故安装失败. 解决方法: 1.按照正常的方法刻录镜像到U盘: 2.更改U盘文件系统: 进入命令行模式,输入 convert f: /fs:NTFS (F盘为我的U盘所在盘符) 3.把install.wim重新拷贝到U盘对应目录

解决nginx环境网站css文件加载报错

生产环境为LNMP,部署后网站所有的CSS样式失效.在浏览器中启用开发者工具查到以下报错信息: 样式表单:xxxxxx.css未载入,因为它的MIME类型"text/plain"不是"text/css". 解决方法: 1.修改nginx配置文件nginx.conf. 在nginx.conf文件中添加一行代码include mime.types; 2.重启nginx 3.清除缓存 经以上步骤后即可使网站正常加载css文件.

解决configure: error: Popt libraries is required简单报错笔记!

问题: 编译keepalived时报 configure: error: Popt libraries is required 问题原因: 这个错误是因为没有安装popt的开发包导致的 解决方式: 只要yum install popt-devel, 就可以安装好popt的开发包了. 重新./configure 总结:一般编译报错是缺少依赖包或者找不到一些东西,安装指定包或者做相应软链接即可! 注意事项:yum安装比较简单,但是卸载时候要注意依赖环境.编译安装比较灵活,但是麻烦.具体需求个人而定.