在C#中如何实现多条件查询并将查询结果显示在datagridview中

在建筑面积,户型,装修情况,价格,房屋情况中任意选择两个以上的数据,点击总查询,会将多次查询的结果显示在datagridview中。现在还没有创建总查询按钮。... 在建筑面积,户型,装修情况,价格,房屋情况 中任意选择两个以上的数据,点击总查询,会将多次查询的结果显示在datagridview中。现在还没有创建总查询按钮。 展开
 我来答
20091542
推荐于2018-05-10 · TA获得超过181个赞
知道小有建树答主
回答量:144
采纳率:0%
帮助的人:116万
展开全部
解决方法:
首先应该设置一个int变量,用来判断用户选中的条件是否超过两个,如果超过两个,我们就进行查询,这里我用的是字符串的拼接。
int num=0;
string sqlStr="select <列名> from <表名> where "
if(建筑面积 != null)
{
sqlStr+="建筑面积=@建筑面积";
num++;
}
if(户型 != null)
{
sqlStr+="and 户型=@户型";
num++;
}
if(装修情况 != null)
{
sqlStr+="and 装修情况=@装修情况";
num++;
}
if(价格 != null)
{
sqlStr="and 价格=@价格";
num++;
}
if(房屋情况 != null)
{
sqlStr+="and 房屋情况=@房屋情况";
num++;
}
if(num<=2)
{
//提示用户应选择多项,用个Label,或是脚本都可以
return;
}
//连接数据库,使用时记得先导入命名空间Using System.Data.SqlClient和using System.Data;
using(SqlConnection con=new SqlConnection("server=.;uid=sa;password=123456;database=数据库名"))
{
using(SqlCommand cmd=con.CreateCommand())
{
cmd.CommandText=sqlStr;
con.Open();
DataSet ds=new DataSet();
SqlDataAdapter sda=new SqlDataAdapter(cmd);
sda.Fill(ds);
dataGridView.DataSource=ds.Tables[0].DefaultView;//这个dataGridView是你的DataGridView控件的名字
dataGridView.DataBind();
}
}
这样访问后就能在DataGridView控件中显示筛选出的数据了,只需将上述代码修改下,放在一个按钮事件中就可以了。祝好远。
圣魔破天
2012-06-07 · TA获得超过279个赞
知道小有建树答主
回答量:185
采纳率:100%
帮助的人:41.4万
展开全部
一般都是一个查询按钮就可以了,上面的条件空白查询的时候就不加上这一条件,若不是空白就加上这一条件,这样即可单条件查询又可多条件查询。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友6d837d0
2012-06-07 · TA获得超过979个赞
知道小有建树答主
回答量:644
采纳率:0%
帮助的人:477万
展开全部
在你的数据源控件里,自定义查询语言,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式