三层模式中,多条件查询中的sql语句拼接
2014-05-15 17:18
295 查看
private void btnSelect_Click(object sender, EventArgs e) { //多条件查询 //只有在界面拼接sql语句了,使用两个List 来分别存储sql拼接语句和sql参数 List<string> sqlList = new List<string>(); List<SqlParameter> spList = new List<SqlParameter>(); if (cbbClasses.SelectedValue.ToString() != "-1") { //MessageBox.Show("你选中了" + cbbClasses.SelectedValue.ToString()); sqlList.Add("CID=@CID"); spList.Add(new SqlParameter("@CID", SqlDbType.Int) { Value = cbbClasses.SelectedValue }); } if (!string.IsNullOrEmpty(txtName.Text.Trim())) { sqlList.Add("Name=@Name"); spList.Add(new SqlParameter("@Name", SqlDbType.NVarChar) { Value = txtName.Text.Trim() }); } if (comboBoxGender.SelectedIndex > 0) { sqlList.Add("Gender=@Gender"); spList.Add(new SqlParameter("@Gender", SqlDbType.NVarChar) { Value = comboBoxGender.Text }); } sqlList.Insert(0, " isDel=0"); string sql = "select * from Students"; if (sqlList.Count > 0) { sql += " where " + string.Join(" and ", sqlList); } List<StudentModel> stulList = new StudentBLL().GetStudentBySql(sql, spList.ToArray()); dgvStudens.DataSource = stulList; }
上面是一个名称为"筛选"按钮的响应事件,在View层
接下来的是BLL层,view层调用bll层的这个GetStudentBySql方法
//传入sql拼接好的语句和参数,返回结果集 public List<StudentModel> GetStudentBySql(string sql, SqlParameter[] sps) { return new StudentDAL().GetStudentBySql(sql, sps); }
最下面的就是DAL层的方法
//传入sql拼接好的语句和参数,返回结果集 public List<StudentModel> GetStudentBySql(string sql, SqlParameter[] sps) { DataRowCollection rows = SQLHelper.ExecuteDataSet(sql, sps).Rows; List<StudentModel> stulist = new List<StudentModel>(); StudentModel stu = null; foreach (DataRow row in rows) { stu = Row2StudentModel(row); stulist.Add(stu); } return stulist; }
相关文章推荐
- sql不用拼接语句实现动态查询条件
- 多条件查询,拼接SQL语句
- 多条件查询的sql语句字符串拼接
- php根据查询条件拼接sql语句
- 利用Attribute特性简化多查询条件拼接sql语句的麻烦
- 页面Sql语句 查询根据判断值是否存在拼接查询条件
- ASPNETCOREAPI 跨域处理 SQL 语句拼接 多条件分页查询 ASPNET CORE 核心 通过依赖注入(注入服务)
- [导入]利用Attribute特性简化多查询条件拼接sql语句的麻烦
- sql 自定义函数 ,where后拼接条件跳转语句,实现可变参数查询
- 多条件查询语句,避免sql拼接引起sql注入写法
- 动态sql语句拼接查询条件
- ASP.NET偷懒大法三 (利用Attribute特性简化多查询条件拼接sql语句的麻烦)
- 多条件查询--使用dapper命令参数动态拼接出最安全的sql语句
- 关于java多条件查询SQL语句拼接的小技巧
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- 根据条件查询动态拼接sql语句
- 使用反射让linq实现动态查询, 类似拼接sql语句的where 条件
- 在ASP中使用SQL语句之2:用WHERE子句设置查询条件
- sql查询语句问题- sum求和的值作为查询条件
- 多条件查询使用的SQL查询语句