C#实现把String字符串转化为SQL语句中的In后接的参数

实现把String字符串转化为In后可用参数代码:

 public string StringToList(string aa)
    {
        string bb1 = "(";
        if (!string.IsNullOrEmpty(aa.Trim()))
        {

            string[] bb = aa.Split(new string[] { "\r\n", ",", ";", "* " }, StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < bb.Length; i++)
            {
                if (!bb1.Contains(bb[i]))//去掉重复的輸入值
                {
                    bb1 += "‘" + bb[i] + "‘,";
                }
            }
        }
        bb1 = bb1.Substring(0, bb1.LastIndexOf(",")) + ")";
        return bb1;
    }

原文地址:https://www.cnblogs.com/wml-it/p/12200845.html

时间: 2024-07-31 06:33:20

C#实现把String字符串转化为SQL语句中的In后接的参数的相关文章

将string数组转化为sql的in条件

例如:我想将String[] str = {"4","5","6"}转化为"'4','5','6'"字符串.这样我就可以用sql查询:select * from tableName id in (字符串)了. 项目中实现的源码如下: StringBuffer idsStr = new StringBuffer(); for (int i = 0; i < ids.length; i++) { if (i > 0)

SQL语句中,Conversion failed when converting datetime from character string.错误的解决办法

在项目开发过程中,我们经常要做一些以时间为条件的查询,比如查询指定时间范围内的历史记录,然而这些时间都是从UI传递过来的参数,所以我们写的sql语句就必须用到字符串拼接.当然,在C#中写SQL语句还好处理,可以使用C#的字符串函数做对应的数据类型转换.但是,如果用的是存储过程的话,就有点纠结了.下面来说一下我在写存储过程中遇到的问题: 为了更加直接的说明问题,写如下一个简单的例子: declare @dateFrom datetime; declare @dateTo datetime; dec

Lambda表达式Contains方法(等价于SQL语句中的like)使用注意事项

貌似已经半年多没写一篇帖子了,充分的说明要么老总一天折腾的让人心齐疲惫,没心情去写:要么另外一种可能就是自己不思进取,说白了就是懒.好在这种状态在今天被打破了.MoNey加油. 众所周知,想在EntityFrame实体框架中使用类似于SQL语句中like的效果时就的使用Contains方法了. 可是关于Contains方法使用过程中会出现的细节问题,并没有专门的文章来指出来. 小弟才疏学浅,一直只做些b/s开发,因此对于SQL的高级应用不需要接触,长期使用Lambda 表达式的过程中,已经彻底忘

SQL语句中DateAdd 函数说明

实践例子: 将借阅表中所有记录的归还日期加15天: 执行前情况: 执行后情况如下: update 借阅 set 归还日期=DateAdd ("D",15,归还日期) [详细讲解:] 返回 返回包含一个日期的 Variant (Date),这一日期还加上了一段时间间隔. 语法 DateAdd(interval, number, date) DateAdd 函数语法中有下列命名参数: interval 必要.字符串表达式,是所要加上去的时间间隔. number 必要.数值表达式,是要加上的

关于在java中向带有IN的SQL语句中传参数的问题

今天遇到俩个问题: 1.在使用表格模型的时候,从数据库查询出来的数据赋值到Jtable的时候永远只显示最后一天记录,前面的都被覆盖了.一直在究其原因,未果,遂择其道而行之(第二个问题). 2.为了解决上面的问题,我将SQL语句的条件换成IN,目的想把所有参数一并传过去,查询所有记录后在一并显示到Jtable上,实验证明我的做法是对的.但是,一直没有搞懂IN(?)这个问号应该如何传值. SQL : String sql = " select sxh,grbm,xm,yybm,fyze,qzfbf,

SQL语句中的表操作

数据库中主要的部分是不同的表,在SQL语句中提供了一些对于表的操作.我们讨论的操作都是在SQL SERVICE中的 一.新建表: 新建表的语法格式为:CREATE TABLE 表名(列名 数据类型[完整性约束条件], 列名 数据类型 [完整性约束条件],...);其中完整性约束条件可以添加也可以不加,如果不加也可以在表定义完成后另外在添加,比如我们现在需要创建一个学生表,可以使用这样的代码来创建: create table student(Sno char(10) PRIMARY KEY, Sn

SQL语句中的乘号

在ADO中,我们需要在SQL语句中使用乘法运算,可是添加'*'以后执行程序总是会出错,这是因为‘*’与sql中的‘*’关键字重合了,所以编译会出错. 解决办法:将乘法运算放到sql语句外面,将结果放入一个变量中,然后在sql语句中引用即可 int count = (this.AspNetPager1.CurrentPageIndex-1)*this.AspNetPager1.PageSize; string sql = " select top "+count+" E_Id

转王波洋,SQL语句中的 for XML Path(&#39;&#39;)

FOR XML PATH 有的人可能知道有的人可能不知道,其实它就是将查询结果集以XML形式展现,有了它我们可以简化我们的查询语句实现一些以前可能需要借助函数活存储过程来完成的工作.那么以一个实例为主. 一.FOR XML PATH 简单介绍              那么还是首先来介绍一下FOR XML PATH ,假设现在有一张兴趣爱好表(hobby)用来存放兴趣爱好,表结构如下: 接下来我们来看应用FOR XML PATH的查询结果语句如下: SELECT * FROM @hobby FO

sql语句中#{}和${}的区别

#将传入的数据都当成一个字符串,会对自动传入的数据加一个双引号.如:order by #user_id#,如果传入的值是111,那么解析成sql时的值为order by "111", 如果传入的值是id,则解析成的sql为order by "id". $将传入的数据直接显示生成在sql中.如:order by userid,如果传入的值是111,那么解析成sql时的值为order by user_id, 如果传入的值是id,则解析成的sql为order by id.