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

在建筑面积,户型,装修情况,价格,房屋情况 中任意选择两个以上的数据,点击总查询,会将多次查询的结果显示在datagridview中。现在还没有创建总查询按钮。

解决方法:
首先应该设置一个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控件中显示筛选出的数据了,只需将上述代码修改下,放在一个按钮事件中就可以了。祝好远。
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-06-07
一般都是一个查询按钮就可以了,上面的条件空白查询的时候就不加上这一条件,若不是空白就加上这一条件,这样即可单条件查询又可多条件查询。
第2个回答  2012-06-07
在你的数据源控件里,自定义查询语言,

在C#中如何实现多条件查询并将查询结果显示在datagridview中
首先应该设置一个int变量,用来判断用户选中的条件是否超过两个,如果超过两个,我们就进行查询,这里我用的是字符串的拼接。int num=0;string sqlStr="select <列名> from <表名> where "if(建筑面积 != null){ sqlStr+="建筑面积=@建筑面积";num++;} if(户型 != null){ sqlStr+="and ...

在C#中如何实现多条件查询并将查询结果显示在datagridview中
StringBuilder strSql = new StringBuilder();strSql.Append(" select * from abc where 1=1 ");if (!string.IsNullOrEmpty(comboBox1.Text))strSql.Append(" AND 种类='" + comboBox1.Text+ "'");if (!string.IsNullOrEmpty(comboBox2.Text))strSql.Append(" AND 材质='" + comboBox2....

C#将执行后的SQL查询结果输出到dataGridView控件里
最简单的 写一个数据查询类.然后调用xx.chaxun方法 窗体代码写以下这些就可以了 sql = "select * from xxxx";Datatable dt = xx.chaxun(sql);datagridview1.DataSource = dt;记得将datagridview里面的字段与表中的字段相关联

用C#多条件查询,并把查询的条件显示在datagridview中
string sqls=“select * from tabble where 1=1 ”string pwhere=“”;\/\/写5个if判断查询条件,没有else,只是if if(判断建筑面积否有查询要求 ){ pwhere+=" and 条件 "} if(判装修情况是否有查询要求 ){ pwhere+=" and 条件 "} \/\/以此类推sqls 就是你最后的查询语句 然...

C# 如何把从数据库中查到的数据显示在datagridview中
其实很简单。我们只需要在窗体上拖放一个DataGridView 然后双击窗体空白处,在代码文件的Form1_Load事件中添加括号里的代码 private void Form1_Load(object sender, EventArgs e){ string strsql="select * from stop where stop_id>5";\/\/查询语句。SqlConnection conn = new SqlConnection("server=...

C# 怎么把查询到的数据从datatable用foreach循环加载到datagridview
dataGridView1.Columns.Add(column.ColumnName, column.ColumnName);}dataGridView1.Rows.Clear();\/\/清空行foreach (DataRow line in table.Rows){ \/\/因为列已经一致了,所以直接将datatable的行转成数组就可以添加到datagridview中了 dataGridView1.Rows.Add(line.ItemArray);} ...

...并把查询到的信息显示在一个datagridview中。
大概这样写 string sql="select * from aaa where" if(combobox1.selectindex>=0) { sql+=" dd='"+combobox1.text+"'"; } if(combobox2.selectindex>=0) { sql+=" dd='"+combobox2.text+"'"; }

C#查询2个表中的信息,并把查询到的信息显示在一个datagridview中
你的两个表有关联吗??如果有的话可以使用关联查询,得到数据,绑定到datagridview控件中。比如:我有一个学生表和一个选课表。它们的关联id是学号sno.。你可以这样来做:select * from Student,CheckClass where Student.sno=CheckClass.sno或者使用 inner join 查询:select * from Student as a ...

C#语言中子窗体输入查询条件如何在父窗体的GridView中显示查询结果
如果要实现楼主你说的这个功能的话,你需要在主窗体下建一个public公用的变量用来保存查询条件,就是在有datagridview的窗体下。例如: public string sqlwhere;然后当你子窗体关闭的时候把你输入的条件赋值给sqlwhere。然后在主窗体下用新的条件重新刷新窗口。写一个简单的例子吧,比如两个窗体是form1和...

c#中如何让数据显示在dataGridView上
\/\/SqlDataReader aa = cmd.ExecuteReader();\/\/返回datareader值 \/\/DataTable aaa = new DataTable();\/\/显示在表中 \/\/aaa.Load(aa); \/\/装载数据 \/\/dataGridView1.DataSource = aaa;or \/\/DataSet ds = new DataSet(); \/\/读出数据后就和数据库断了 耗资源 \/\/SqlDataAdapter adp = new ...

相似回答