我想在sql中写个判断,怎么去做呢?uid如果不为null的话,就传递uid进去
tid如果不为null的话,就传递tid进去
如果都为null的话,就不传递任何id进去
如果都不为null的话,就跳到error.aspx页面去
SqlCommand cmd = new SqlCommand("select * from Csga_Law_Class where type_id='"+ ??? +"'", con);能不能用一个表达式来做
而不是去判断参数然后做if……else if呢
tid如果不为null的话,就传递tid进去
如果都为null的话,就不传递任何id进去
如果都不为null的话,就跳到error.aspx页面去
SqlCommand cmd = new SqlCommand("select * from Csga_Law_Class where type_id='"+ ??? +"'", con);能不能用一个表达式来做
而不是去判断参数然后做if……else if呢
解决方案 »
- 各位兄弟,你们能容忍这样的情况吗?
- 为什么对location.href的赋值会没有效果?
- DataGrid 结合 SQL 2005 分页功能的问题
- asp.net中如何访问Datagrid控件的任意单元格(某行某列)的值
- web 站点只能建在默认的站点上面吗?如果不是应怎么做呢?
- 创建Asp.net应用程序发生错误啊.到底怎么回事?请各位.net大虾帮帮忙啊,急用,给分
- 关于dataset的一个小问题(vb)???
- 一个关于触发事件的问题
- ASP.NET Forums 2.0 论坛源代码 学习的好机会!!!!!!
- .net最常见问题,懂得服务器配置的大请进,问题解决就送分
- 批量生成静态网页时产生的错误
- ajax里fileupload上传的问题
跳转页面应该是无法用数据库实现的sql里可以做判断啊,就用if else 判断。。一个表达式搞定这些问题,不能把。。
应该再也没有更加简单的了,楼主给分吧... ...
不过这样写代码,没什么必要
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
/*
1.uid如果不为null的话,就传递uid进去
2.tid如果不为null的话,就传递tid进去
3.如果都为null的话,就不传递任何id进去
这句有问题,因为不可能不传递,拼写字符串的时候不能传入NULL
因此理解楼主的需求是压根不需要"type_id=XX"这个条件
4.如果都不为null的话,就跳到error.aspx页面去
*/
string uid = null;//string.Empty;
string tid = null;//string.Empty;
string sql = string.Empty;
int a = 0;
try
{
//三元表达式 -__-~!! 汗.其实跟if ... else ...不就一样了?中间使用了1/0出错跳转..
sql = (uid != null & tid != null) ?
(1 / a).ToString() : (
uid = (uid != null) ?
"select * from Csga_Law_Class where type_id='" + uid + "'" : (
tid = (tid != null) ?
"select * from Csga_Law_Class where type_id='" + tid + "'"
: "select * from Csga_Law_Class"
)
);
;
Console.WriteLine(sql);
}
catch (Exception ex)
{
Console.WriteLine("Jump to error page!");
}
Console.ReadKey();
}
}
}
//三元表达式 -__-~!! 汗.其实跟if ... else ...不就一样了?中间使用了1/0出错跳转..
sql = (uid != null & tid != null) ?
(1 / a).ToString() : (
sql = (uid != null) ?
"select * from Csga_Law_Class where type_id='" + uid + "'" : (
sql = (tid != null) ?
"select * from Csga_Law_Class where type_id='" + tid + "'"
: "select * from Csga_Law_Class"
)
);
;
可是楼主想在sql中判断不知道楼主是个啥意思
还可使用三元操作符
string sql="";
sql="select * from Csga_law where 1=1";
sql+=(uid==null?"":" and type_id='"+uid+"'");
sql+=(tid==null?"":" and type_id='"+tid+"'");
谁会去再sql中做判断呢,呵呵
...
select * from tb where (uid=@uid or @uid is null) or(nid=@nid or @nid is null)...