现在要做一个图书的查询 有下列几种查询条件:书名,作者,出版社,日期(起始日期,截止日期)也可以联合查询也可以单独查询.别的都做出来了把SQL语句连接起来就可以.现在问题是比如 用户输入了起始日期 不输入截止日期的话SQL语句就会出错!想得到的效果是 输入了起始日期 就必须输入截止日期. 或者输入了截止日期就必须输入起始日期.这样的一个需求.就是不知道怎么验证了!我暂时是这么写的 但是这么写的话如果起始和截止日期都填写上了 就一直提示输入起始日期了!(是个笨办法)
---------------------
if (!txtDate1.Text.Equals(""))
{
Label1.Text = "请输入截止日期!";
}
if (!txtDate2.Text.Equals(""))
{
Label1.Text = "请输起始止日期!";
}
if(txtDate2.Text.Equals("") && txtDate1.Text.Equals(""))
{
Response.Redirect("findbook.aspx?name=" + this.txtBname.Text + "&Author=" + this.txtAuthor.Text + "&cbs=" + this.txtCbs.Text + "&date1=" + this.txtDate1.Text + "&date2=" + this.txtDate2.Text + "");
}
-------------------
都给我"绕"晕 了
没什么开发经验.
大家帮帮忙 谢谢了
本人有些菜.大家多多指教.当然 如果有更好的方法 希望大家告诉我.比如只输入起始日期的情况下 直接查询出来起始日期以后的 所有图书.
---------------------
if (!txtDate1.Text.Equals(""))
{
Label1.Text = "请输入截止日期!";
}
if (!txtDate2.Text.Equals(""))
{
Label1.Text = "请输起始止日期!";
}
if(txtDate2.Text.Equals("") && txtDate1.Text.Equals(""))
{
Response.Redirect("findbook.aspx?name=" + this.txtBname.Text + "&Author=" + this.txtAuthor.Text + "&cbs=" + this.txtCbs.Text + "&date1=" + this.txtDate1.Text + "&date2=" + this.txtDate2.Text + "");
}
-------------------
都给我"绕"晕 了
没什么开发经验.
大家帮帮忙 谢谢了
本人有些菜.大家多多指教.当然 如果有更好的方法 希望大家告诉我.比如只输入起始日期的情况下 直接查询出来起始日期以后的 所有图书.
在TextBox中输入日期可以用控件。
http://download.csdn.net/user/liuyun1987
这里有我的资源下载
if(txtDate1.Text!="" && txtDate2.Text=="")
{
string sql="select * from table where date>'"+txtDate1.Text+"'";
}
if(txtDate1.Text!="" && txtDate1.Text!="")
{
string sql="select * from table where date>'"+txtDate1.Text+"' and date<'"+txtDate1.Text+"'";
}
-------
sql語句僅供參考~
{
Label1.Text = "请输入截止日期!";
}
else if (txtDate2.Text.Trim().Equals(""))
{
Label1.Text = "请输起始止日期!";
}
else
{
Response.Redirect("findbook.aspx?name=" + this.txtBname.Text + "&Author=" + this.txtAuthor.Text + "&cbs=" + this.txtCbs.Text + "&date1=" + this.txtDate1.Text + "&date2=" + this.txtDate2.Text + "");
}
{
Label1.Text = "请输入截止日期!";
return;
}
if (txtDate2.Text.Equals(""))
{
Label1.Text = "请输起始止日期!";
return;
}
if(!(txtDate2.Text.Equals("") && txtDate1.Text.Equals("")))
{
Response.Redirect("findbook.aspx?name=" + this.txtBname.Text + "&Author=" + this.txtAuthor.Text + "&cbs=" + this.txtCbs.Text + "&date1=" + this.txtDate1.Text + "&date2=" + this.txtDate2.Text + "");
}
可以发我邮箱[email protected],我会把该控件发给你
在sql里面的解决方法
create proc sps_getdate
@startdate datetime,
@enddate datetime,
……--其他查询参数
as
select * from [table] where
(@startdate < bookdate or @startdate is null) and
(@enddate > bookdate or @enddate is null) and
…… --其他参数判断在程序里面如果查询条件没有输入的话,那就将查询字段的值设置为空就可以一次实现多条件查询了。