小弟最近遇到这样一个问题:
如,在图书管理信息系统中,想利用多种参数查询图书信息,例如我想利用图书编号(Book_No)查询,利用图书类型(Book_Type)查询,利用图书入库时间(Book_InDate)查询,图书关键字(Book_KeyWord)查询.
现在想利用一个函数实现单参数查询,多参数组合查询怎么做?
Public DataSet QueryBook(string Book_No,string Book_Type,string Book_InDate,string Book_KeyWord)
{
//通用的SQL语句
}
如,在图书管理信息系统中,想利用多种参数查询图书信息,例如我想利用图书编号(Book_No)查询,利用图书类型(Book_Type)查询,利用图书入库时间(Book_InDate)查询,图书关键字(Book_KeyWord)查询.
现在想利用一个函数实现单参数查询,多参数组合查询怎么做?
Public DataSet QueryBook(string Book_No,string Book_Type,string Book_InDate,string Book_KeyWord)
{
//通用的SQL语句
}
{
//通用的SQL语句
string sql = "";
sql = "select * from table where 1=1";
sql += " and Book_No = '" + Book_No + "' ";
sql += " and Book_Type = '" + Book_Type + "' ";
sql += " and Book_InDate = '" + Book_InDate + "' ";
sql += " and Book_KeyWord = '" + Book_KeyWord + "' ";
......
}
类似于这样吧,以上仅按"与"条件进行,你如果有"或"条件的话,可将部分and改为or
where Book_No='xxx' and Book_Type='xxx' and Book_InDate='xxx' and Book_KeyWord='xxx'
{
}
里面的 sql 语句就是 "select * from book where " & query_field & "='" & query_text &"'"
Public DataSet QueryBook(string Book_No,string Book_Type,string Book_InDate,string Book_KeyWord)
{}
public Dataset QueryBook(string Book_No,string Book_Type,string Book_InDate)
{
QueryBook(string Book_No,string Book_Type,string Book_InDate,null)}
做类似处理了。
说的吧,
如果是or 的话改一下就行了
{
for(i=0;i<=list.Length;i++)
{
string sql_ = "";
sql_ += "select * from table where 1=1 ";
sql_ += "and" + list[i] + "=" + list[i] ;
}
string sql = "";
sql = _sql.ToString();
//再执行sql}
_sql 和 sql_搞错了