日期:2014-05-18 浏览次数:20559 次
用户名<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>
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 用户名=@用户名)