首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

现在有4个textbox 根据他们的值进行查询,该怎么处理

2012-01-26 
现在有4个textbox 根据他们的值进行查询C# code用户名asp:TextBox IDedtUserID runatserver/asp:

现在有4个textbox 根据他们的值进行查询

C# code
用户名<asp:TextBox ID="edtUserID" runat="server"></asp:TextBox>姓名<asp:TextBox ID="edtName" runat="server"></asp:TextBox>警号<asp:TextBox ID="edtPoliceNumber" runat="server"></asp:TextBox>部门<asp:TextBox ID="edtDepartment" runat="server"></asp:TextBox>


有上面4个txtbox 用户不一定输入哪个···

然后进行查询···
该怎么做比较好啊???

[解决办法]
select * from table where userid = this.edtUserID.Text or Name = this.edtName.Text 
or policeNumber = this.edtPoliceNumber.Text or department = this.edtDepartment.Text
[解决办法]
string strSql="select * from table where 1=1";
if(edtUserID.Text!="")
{
strSql+=" and userid='"+edtUserID.Text+'";
}
其他依此類推
[解决办法]
你给你的参数都设置一个默认值 

假设默认值是-1

可以像这么写(条件=-1 or 条件=用户输入条件)and 后面的差不多的
[解决办法]
判断是否为空,查询不为空的

如果是多个查询,那就联合查询
[解决办法]
就这个方法比较好,一般多项查询都是这样做的
[解决办法]
C# code
string strSql="select * from table where 1=1"; strSql+=string.IsNullOrEmpty(edtUserID.Text.Trim())?"":" and userid='"+edtUserID.Text.Trim()+"'"; strSql+=string.IsNullOrEmpty(edtName.Text.Trim())?"":" and username='"+edtName.Text.Trim()+"'"; strSql+=string.IsNullOrEmpty(edtPoliceNumber.Text.Trim())?"":" and useredtPoliceNumber='"+edtedtPoliceNumber.Text.Trim()+"'"; strSql+=string.IsNullOrEmpty(edtDepartment.Text.Trim())?"":" and userdepartment='"+edtDepartment.Text.Trim()+"'";
[解决办法]
引用:
select * from table where userid = this.edtUserID.Text or Name = this.edtName.Text
or policeNumber = this.edtPoliceNumber.Text or department = this.edtDepartment.Text 
 

这是个好办法 ·· 我怎么没想到呢··· 
呵呵···
這個方法查出來的是會有問題的
[解决办法]
string sql = "select top 10 * from tablename where 1=1";
If(txtBox1.Text.Length > 0)
{
sql+= " AND field1='" + txtBox1.Text + "'";
}
.......
If(txtBox4.Text.Length > 0)
{
sql+= " AND field2='" + txtBox4.Text + "'";
}
[解决办法]

 保证后面查询条件都为空时能照样查询
[解决办法]
一楼的答案是一个。你也可以自己编写一个判断程序了进行判断啊哪些TextBox中有数据哪些没有。
[解决办法]
7楼的方法可行!
[解决办法]
写个proc 
将四个文本框中的值作为参数传入

create proc procname
@用户名 nvarchar(20)
@姓名 nvarchar(20)
@警号 nvarchar(20)
@部门 nvarchar(20)
as
select 
...
from
...
where 
(@用户名='' or 用户名=@用户名)


and
(@姓名='' or 姓名=@姓名)
and
(@警号='' or 警号=@警号)
and
(@部门='' or 部门=@部门)
[解决办法]

探讨
弱弱的问一下

="select * from table where 1=1";

where 1= 1 是什么意思呢??

热点排行