关于在asp.net中调用数据库存储过程的问题请教:
我写了个存储过程,有几个输入查询参数,其参数值分别对应页面上几个输入文本框,现在要实现:如果在查询时,某一个或几个输入文本框的值为空,那么即认为这些文本框所对应的查询值为可为任意,而在使用存储过程过程中,要求每个参数都要赋值。请问处理一个输入参数,使它在实际查询过程中不充当查询条件,而可以为任意值?
谢了先
问题点数:20、回复次数:7Top
1 楼zyyzc()回复于 2004-09-04 10:03:28 得分 1
既然文本框有可能为空,为什么要求参数都赋值了?Top
2 楼coldice(ice)回复于 2004-09-04 10:06:35 得分 5
你可以在程序中检查这几个输入框,如果为空的话,给存储过程的参数赋一个比较特殊的值,然后在存储过程的语句中做判断,如何?Top
3 楼linfuguo(林子)回复于 2004-09-04 10:17:17 得分 5
在UI中判断,判断文本框是否为空,如果为空就给几个特殊值...
Top
4 楼leisang(仰望深邃的星空)回复于 2004-09-04 10:22:23 得分 4
@aa varchar(255)
@bb varchar(255)
as
select * from youtable where aa like '%'@aa'%' and bb like '%'@bb'%'Top
5 楼zhpsam109(JACKY.昊昊)回复于 2004-09-04 10:29:06 得分 5
你可以在C#代码中进行条件的构造:
if(txt.Text.Trim()!="")
{
condition=@" and col1='"+txt.Text.Trim()+"'";
}
然后把条件传递给存储过程。Top
6 楼bravemanman(braveman)回复于 2004-09-06 13:40:41 得分 0
好像都不能实现我的要求?
在顶一个
谢谢Top
7 楼bravemanman(braveman)回复于 2004-09-06 13:58:37 得分 0
请问coldice,
怎么在存储过程中进行判断呢?
我想在where语句后面写if判断,但是总是提示语法错误,where后面可以用if语句么?
怎么用呢?
谢谢!Top




