标题:[求助]关于综合查询的历史性问题!怎么解决参数为空的问题 和 去掉最后一个 ...
只看楼主
606liutong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:740
专家分:94
注 册:2006-10-9
结帖率:100%
 问题点数:0 回复次数:3 
[求助]关于综合查询的历史性问题!怎么解决参数为空的问题 和 去掉最后一个and

string sqlstr = "select ID,NAME,AGE,JERQUEDATE,HOSPITAL,CLINIC,JC_DOCTOR,MACHINE,MIRRORIMAGE,DIAGNOSES,PATHOLOGY,SALARY from patientMsg where ";

if (this.DropHospital.SelectedItem.Text != "----请选择----")
{
sqlstr += " HOSPITAl='"+this.DropHospital.SelectedItem.Text+"'and";
}
if (this.DropClinic.SelectedItem.Text != "")
{
sqlstr += " CLINIC='" + this.DropClinic.SelectedItem.Text + "'and";
}
if (this.DropJcDoctor.SelectedItem.Text != "----请选择----")
{
sqlstr += " JC_DOCTOR ='" + this.DropJcDoctor.SelectedItem.Text + "'and";
}
if (this.DropSjDoctor.SelectedItem.Text != "----请选择----")
{
sqlstr += " SJ_DOCTOR ='" + this.DropSjDoctor.SelectedItem.Text + "'and";
}
if (this.DropMachine.SelectedItem.Text != "----请选择----")
{
sqlstr += " MACHINE ='" + this.DropMachine.SelectedItem.Text + "'and";
}
if (this.DropDate.SelectedItem.Text == "当天")
{
sqlstr += " JERQUEDATE ='" + DateTime.Today.ToShortDateString() + "' and";
}
//else if (this.DropDate.SelectedItem.Text == "本月")
{
sqlstr += " JERQUEDATE between '" + DateTime.Today.Year.ToString() + "-" + DateTime.Today.Month.ToString() + "-1" + "' and '" + DateTime.Today.ToShortDateString() + "' and";
}
//else if (this.DropDate.SelectedItem.Text == "本年")
{
sqlstr += " JERQUEDATE between '" + DateTime.Today.Year.ToString() + "-1-1" + "' and '" + DateTime.Today.ToShortDateString() + "' and";
}
//if (this.DropAge.SelectedItem.Text != "全部")
{
sqlstr += " AGE && '" + this.DropAge.SelectedItem.Text + "' && '" + this.txtAge.Text + "' and";
}

this.DropAge.SelectedItem.Text 里面是 > ,< , >= , <= ,=
怎么解决参数为空的问题 和 去掉最后一个 and
后面几句被屏掉的句子有点错误,大虾们也帮忙看看,谢谢了

[此贴子已经被作者于2007-7-24 17:18:01编辑过]

搜索更多相关主题的帖子: 历史性 查询 参数 
2007-07-24 17:15
jyoseyi
Rank: 1
等 级:新手上路
帖 子:173
专家分:0
注 册:2007-6-14
得分:0 
string sqlstr = "select ID,NAME,AGE,JERQUEDATE,HOSPITAL,CLINIC,JC_DOCTOR,MACHINE,MIRRORIMAGE,DIAGNOSES,PATHOLOGY,SALARY from patientMsg where
if (this.DropHospital.SelectedItem.Text != "----请选择----")
{
sqlstr += " HOSPITAl='"+this.DropHospital.SelectedItem.Text+"'and";
}



在where 后面 写1=1 ,然后把and 提前 如:



string sqlstr = "select ID,NAME,AGE,JERQUEDATE,HOSPITAL,CLINIC,JC_DOCTOR,MACHINE,MIRRORIMAGE,DIAGNOSES,PATHOLOGY,SALARY from patientMsg where 1=1
if (this.DropHospital.SelectedItem.Text != "----请选择----")
{
sqlstr +="and";
sqlstr += " HOSPITAl='"+this.DropHospital.SelectedItem.Text+"'";
}

下面的同理修改就是了

我非英雄,广目无双, 我本坏蛋,无限嚣张!
2007-07-24 17:41
606liutong
Rank: 2
等 级:论坛游民
威 望:2
帖 子:740
专家分:94
注 册:2006-10-9
得分:0 
问题解决了 在这里,衷心地感谢jyoseyi,是你给了我再编码的能力,让我看到了清晨的光辉和那蓬勃的朝气。
是你,打破了对于编码人员来说“只有白天与黑夜,没有黎明与黄昏”的传说和定理。
jyoseyi,编码中的战斗机,喔耶!
代表全人类向你敬礼!

前程——漆黑如这落寞的夜,苦苦守望,却总也望不到那泛着点点苍白的黎明!期望与希冀!无奈与魂殇!
獨自壹個人,望著大海淚流.
愛情,不敢奢望...
2007-07-24 18:01
冰彩虹
Rank: 4
来 自:上海
等 级:贵宾
威 望:14
帖 子:806
专家分:44
注 册:2007-6-28
得分:0 
楼上的,你太有才了哈,

Flying without wings
2007-07-25 08:54



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-157779-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.132276 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved