在页面上有一个文本框,在程序中把文本框的值传到存储过程里面,在存储过程中如下判断竟然失败,不知道为什么?
@username varchar(20)--文本框的值if @username=''
begin
--当文本框为空时不会执行这里 ????
....
end
else
begin
....
end不知道怎么来判断???
@username varchar(20)--文本框的值if @username=''
begin
--当文本框为空时不会执行这里 ????
....
end
else
begin
....
end不知道怎么来判断???
解决方案 »
- 这个sql语句怎么写啊
- XML的概念问题
- 安装sql server 使用windows身份验证模式为什么不能远程连接?
- 使用链接服务器后,为何报“用户 'sa' 登录失败。原因: 未与信任 SQL Server 连接相关联”的错误?
- SQL Server2000个人版的服务范围的难题!!!请大侠进来帮我讲解!
- 数据库运行几年之后性能直线下降
- 请教个问题:怎么按上午,下午对记录进行分组?谢谢
- 如何简单快速的估算数据库的容量
- 用SQL SERVER 2000 企业管理器 导入数据到远程主机出现问题
- 怎样提高记录集复制的效率?
- Sql 7 升级到 sql 2000 关于存储过程中使用"号(双引号)的问题
- 数据更新遇到的问题?
if @username is null
begin
end
else
begin
end
this.SqlDataSource1.SelectParameters.Add("@RoleId", TypeCode.Int64, this.drpRoles.SelectedValue);
this.SqlDataSource1.SelectParameters.Add("@UserName", TypeCode.String, this.txtUserName.Text);
if len(isnull(@username, '')) = 0
this.SqlDataSource1.SelectParameters.Add("@UserName", TypeCode.String, this.txtUserName.Text.Trim());-----
加上这个去除前后空格
.Trim()再
if isnull(@username, '') = ''
@username = null
然后在程序中这样判断一下
if (txtUserName.Text.Trim()!="")
this.SqlDataSource1.SelectParameters.Add("@UserName", TypeCode.String, this.txtUserName.Text);如果为空就不加这个参数,使用存储过程的默认值然后在存储过程里判断一下if @username is null
begin
.....
end
else
begin
.....
end
通过。。
if len(ltrim(rtrim(@username)))=0