通过条件控制搜索数据库内容asp.net(c#)

发布网友

我来回答

4个回答

热心网友

小弟刚建一个专门学习asp.net的群107430045,有感兴趣的,请你们加入噢,大家一起学习交流!!!

热心网友

类似于这种:
string sql = "select * from news_details ";
if (id == 0)
{
//选择全部
if(this.dateText.Text != "" || keyword != "")
{
sql=sql+"where ";
if (this.dateText.Text != "")
{
pub_date = Convert.ToDateTime(this.dateText.Text);
sql = sql + "publish_date='"+ pub_date + "'";
if (keyword != "")
{
sql = sql + " and charindex('" + keyword + "',new_title_big)>0 or charindex('" + keyword + "',new_title_small)>0 ";
}
}
else
{
if (keyword != "")
{
sql = sql + " charindex('" + keyword + "',new_title_big)>0 or charindex('" + keyword + "',new_title_small)>0 ";
}
}
}
}
else
{
//选择类别
sql = sql + "where catalogue_id=" + id;
if (this.dateText.Text != "")
{
sql = sql + " and publish_date='" + pub_date + "'";
if (keyword != "")
{
sql = sql + " and charindex('" + keyword + "',new_title_big)>0 or charindex('" + keyword + "',new_title_small)>0 ";
}
}
else
{
if (keyword != "")
{
sql = sql + " and charindex('" + keyword + "',new_title_big)>0 or charindex('" + keyword + "',new_title_small)>0 ";
}
}
}

Connection conn = new Connection();
DataTable dt=conn.SearchNews(sql);

热心网友

我不知道你的图书分类结构是怎样的,两层?无限层?
我不知道你用什么来操作数据库,ADO? LINQ?
那么我就一种一种来分析:
如果图书表的字段为 ID,书名,出版社ID,大类ID,小类ID,作者,时间……
那么很简单,有多少下拉框被设了条件,就搜索多少字段。
如果图书表的字段为 ID,书名,出版社ID,小类ID,作者,时间……
那么如果搜索时只选了大类,没选小类,就要先根据大类查询出其下各小类,再去查询图书表。
再说说怎样组合where条件。
如果用了LINQ,很简单,先
var q = from . in ...
select .;
if(下拉1选择了条件){q=q.Where(c=>c.某字段=下拉选择的条件)}
if(....下同)
有几个就套几个。
如果是组合字符串查询的,同样有多少条件就 += 多少条件。

热心网友

第一个问题,能不能用if()或者switch语句分情况~当选了C,把这一段赋到查询语句字符串中;没选这一段就不要

第二个是不是要JS啊,我怎么觉得是在客户端运行的啊……可能是我没明白您的意思哈

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com