这个其实实现起来还是比较简单的。族和备
定义一个简单的查询条件类。
多个textbox,我想可定代表着多个条件。
每一个条件兆毁设置一个字段,属性!
如:
publi class Condition
{
private int _id;
private string _name;
private string _pwd;
public int Id
{
get{return _id;}
set{_id=value;}
}
public int Name
{
get{return _name;}
set{_id=name;}
}
public int Pwd
{
get{return _pwd;}
set{_pwd=value;}
}
}
然后每个设置每个textbox的keypress事件,当点击entry的时候就提交查询。
写一个查询的方法 public DataTable Search(Conditon condition)//传递一个condition对象
在实现的过程中,判断所有的属性是否为空,如果某个属性为空,则在提棚羡交的时候忽略这个条件。如果不为空就在sql语句中加上这个条件。
例如
id为空 name pwd不为空
string sql ="select * from T_User ";
if(condition.id!=null)//id不为空
{
sql+=" where id="+condition.Id;
if(condition.Name!=null)
{
sql+=" and username="+condition.Name;
if(condition.Pwd!=null)
{
sql+" and pwd="+condition.Pwd;
}
}
}
else
{
if(condition.Name!=null)
{
sql+=" and username="+condition.Name;
if(condition.Pwd!=null)
{
sql+" and pwd="+condition.Pwd;
}
}
整体的查询大概就这样实现,你可以再这个基础上修改什么的。
我想应该能满足你的要求!
...很简单。。
方法一:第一辩拆誉个textbox查询数据库返回的结果保存到dt里,第二个,第三个实际上都是对前面的一个dt进行查询,然后重新绑定数据,dt内存表查询很方便的,你可能没用过吧。
还有个笨办法,比如第一个 string sql=“select * from A where id=1” ,第二御迅个直接sql+=“ and name=5”。。就这样。。每次重新数据库,重新绑定。。。效率肯定比第一个差很多。。不过小项目很随意了。。
呵呵。。思路就这样。。这携段初级代码应该不用写吧。
那你总共有几个TextBox也就是搜索条件呢?最好预先说明一下。