在图书馆系统中,要如何实现查询书籍,比如
查询条件:书籍编号、书名、作者、出版社等;
选择其中一个或多个进行查询!!
求大家给一下思路!!
谢谢!
查询,对于数据库的select。条件查询,对应where语句,所以多条件,就拼接sql就可以实现。
也可以选择读取数据到List,然后用Linq来筛选(不推荐-书籍信息一般比较多,所以适合在数据库处理好)
//sql拼接,初始sql StringBuilder sql = new StringBuilder(); sql.Append("select * from book where 1=1"); if选择书籍编号,sql.append(" and bookno ..."); if选择书名,sql.append(" and bookname ...");
如果同时选择书名和编号:
if(),sql.append("and book_id and book_name");
是这样的吗?
@Guo47470: 分开写比较好控制
if选择书籍编号,sql.append(" and bookno ...");
if选择书名,sql.append(" and bookname ...");
2个同时选的话上面2个sql会拼接的。这样比较灵活.
根据条件判断,组合查询,
using (DBContext context = new DBContext())
{
var list = context.book;
if (bookno!= "")
list = list.Where(k => k.BookNo.Contains(bookno));
.......
}
使用标签
参数化条件查询
或写个存储过程
你那些查询条件都是 书 这个实体的属性吧? 是的话 就传递书的实体当做参数 然后在DAL层判断各个属性是否为null 是的话就把条件加上去