通过带参数的Sql语句来实现模糊查询(多条件查询)

            #region 通过带参数的Sql语句来实现模糊查询(多条件查询)

            StringBuilder sb = new StringBuilder("select * from books");
            List<string> listWheres = new List<string>();
            List<SqlParameter> listParams = new List<SqlParameter>();
            if (txtBookName.Text.Trim().Length > 0)
            {
                listWheres.Add(" bookName like @bkName ");
                listParams.Add(new SqlParameter("@bkName", "%" + txtBookName.Text.Trim() + "%"));
            }

            if (txtPubName.Text.Trim().Length > 0)
            {
                listWheres.Add(" PublishName like @pubName ");
                listParams.Add(new SqlParameter("@pubName", "%" + txtPubName.Text.Trim() + "%"));
            }

            if (txtPrice.Text.Trim().Length > 0)
            {
                listWheres.Add(" Price = @price");
                listParams.Add(new SqlParameter("@price", double.Parse(txtPrice.Text.Trim())));
            }
            if (listWheres.Count > 0)
            {
                sb.Append(" where ");
                string wheres = string.Join(" and ", listWheres.ToArray());
                sb.Append(wheres);
            }
            MessageBox.Show(sb.ToString());

            SqlParameter[] pms = listParams.ToArray();

            #endregion
时间: 2024-11-06 12:08:59

通过带参数的Sql语句来实现模糊查询(多条件查询)的相关文章

在JDBC中使用带参数的SQL语句

ADO.Net中,支持带参数的SQL语句,例如:Select * from Tables where [email protected],其中@column1为SQL参数,使用起来非常方便,而JDBC中没有找到此功能,感觉有点不便, 于是想自己实现一个.今天正好看见csdn中有一篇http://blog.csdn.net/wallimn/article/details/3734242 文章,有些感触,于是把自己的实现也写出来. 我的思路: 1: 在SQL语句中找到以@开始,以" ",

SQL Server之 (四) ADO增删查改 登录demo 带参数的sql语句 插入自动返回行号

SQL Server之 (四) ADO增删查改  登录demo  带参数的sql语句  插入自动返回行号 自己学习笔记,转载请注明出处,谢谢!---酸菜 1.什么是ADO.NET ADO.NET是一组类库,这组类库可以让我们通过程序的方式访问数据库,并以各种方式操作存储在其中的数据; ADO.NET是基于.NET FrameWork,与.NET FrameWork类库的其余部分是高度集成的 2.连接数据库的步骤 ①创建连接字符串 Data Source=XXX-PC; Initial Catal

ADO.NET中带参数的Sql语句的陷阱

1.使用Parameter //利用构造函数方式 ,不推荐这样写 Parameter p =new Parameter("@id",值); cmd.Parameters.Add(p); //利用对象初始化器的方式,推荐是这样写 Parameter p =new Parameter() {ParameterName="@id",Value="值"}; cmd.Parameters.Add(p); //推荐和不推荐为了什么?在下面说 2.使用Para

使用带参数的SQL语句向数据库中插入空值

private void button1_Click(object sender, EventArgs e) { string name = textBox1.Text; int age = Convert.ToInt32(textBox2.Text.Trim()); int? height = textBox3.Text.Trim().Length == 0 ? null : (int?)Convert.ToInt32(textBox3.Text.Trim()); bool? gender =

SQLSERVER 根据传入的参数拼接sql语句字符串,反馈结果集

ALTER PROCEDURE [dbo].[usp_visit_detail](@siteid BIGINT, @Startime VARCHAR(15), @Endtime  VARCHAR(15), @Aflag  INT = 10,                                    --初始值为10,非10,则表示有传入参数 @Area   VARCHAR(20) = 'N',               -- --初始值为N,非N,则表示有传入参数 @Nflag  

C#使用带like的sql语句时防sql注入的方法

本文实例叙述了在拼接sql语句的时候,如果遇到Like的情况该怎么办. 一般采用带like的SQL语句进行简单的拼接字符串时,需要开率遇到sql注入的情况.这确实是个需要注意的问题. 这里结合一些查阅的资料做了初步的整理. 如这样一个sql语句: select * from game where gamename like '%张三%' 用c#表示的话: string keywords = "张三"; StringBuilder strSql=new StringBuilder();

SQL语句汇总(二)——数据修改、数据查询

首先创建一张表如下,创建表的方法在上篇介绍过了,这里就不再赘述. 添加新数据: INSERT INTO <表名> (<列名列表>) VALUES (<值列表>)  如: INSERT INTO t_student (student_id,student_name,student_age,student_sex) VALUES (1,'大毛',18,'男'); 其中列名可以省略,省略之后要求插入的值必须与列一一对应: INSERT INTO t_student VALUE

SQL SERVER 存储过程执行带输出参数的SQL语句拼接

注意:定义的要执行的SQL语句必须是nvarchar类型 CREATE PROC P_BranchOrderSalesStatistics @beginTime DateTime, --开始时间 @endTime DateTime, --结束时间 @branchCode varchar(20), --门店编码 @NewMemberCount int out, -- 新会员数量 @OrderCount int out, --订单数量 @SalesTotalPrice decimal(18,2) o

使用laravel 生成 带括号的sql语句

laravel在query builder中 使用where条件的情况: 如果你想要查询如下情况的sql语句,那么你来对地方了这儿就是帮你解决问题的. select * from `wxm_ticket` where `wxm_ticket`.`deleted_at` is null and `user_id` = ? and `sell_status` = ? and (`stop_sell` is null or `stop_sell` >= ?) 想要的php 代码: $query = T