CREATE PROC dbo.csp_yonghuzuce
@Username VARCHAR(50), @Pwd VARCHAR(40), @Email VARCHAR(30), @Shenfenzheng VARCHAR(20), @tel VARCHAR(15),
@IsSucceed VARCHAR(1) OUTPUT
AS
SET NOCOUNT ON
IF exists(SELECT users_name FROM users WHERE users_name = @Username) BEGIN
SET @IsSucceed = '0' -- 有重名的用户,注册失败!
RETURN
END
ElSE BEGIN
SET @IsSucceed = '1' -- 无重名的用户,可以正常注册!
-- 向数据表中插入数据(通过前台注册的用户均是普通用户)。
INSERT INTO users VALUES(@Username, @Pwd, @Email, @Shenfenzheng, @tel )
RETURN
END
SET NOCOUNT OFF
GOIF exists(SELECT users_name FROM users WHERE users_name = @Username) BEGIN
SET @IsSucceed = '0' -- 有重名的用户,注册失败!
RETURN
END这句谁帮我解释下啊?
@Username VARCHAR(50), @Pwd VARCHAR(40), @Email VARCHAR(30), @Shenfenzheng VARCHAR(20), @tel VARCHAR(15),
@IsSucceed VARCHAR(1) OUTPUT
AS
SET NOCOUNT ON
IF exists(SELECT users_name FROM users WHERE users_name = @Username) BEGIN
SET @IsSucceed = '0' -- 有重名的用户,注册失败!
RETURN
END
ElSE BEGIN
SET @IsSucceed = '1' -- 无重名的用户,可以正常注册!
-- 向数据表中插入数据(通过前台注册的用户均是普通用户)。
INSERT INTO users VALUES(@Username, @Pwd, @Email, @Shenfenzheng, @tel )
RETURN
END
SET NOCOUNT OFF
GOIF exists(SELECT users_name FROM users WHERE users_name = @Username) BEGIN
SET @IsSucceed = '0' -- 有重名的用户,注册失败!
RETURN
END这句谁帮我解释下啊?
=======================================================================
exists存在否,本句为判断 @Username 在表 users 是否存在!
我在调用的时候怎么给 @IsSucceed 赋值呢? 是不是不用赋值啊 或者是那里没写好?
BEGIN
SET @IsSucceed = '0' -- 有重名的用户,注册失败!
RETURN
END
______________________________
exists这个关键字是存在的意思,SELECT users_name FROM users WHERE users_name = @Username是去user表里select用户名是@Username的记录,所以这一段的意思是:如果user表里已经有用户名为@Username的记录,则赋‘0’给@IsSucceed这个OUTPUT参数。这样程序中就可以判断已经有这个用户名了,提示相应的信息给用户。
string url,
string index_name,
string index_miaoshu,
string time1,
int shenhe,
int baomi
)
{
SqlConnection connection = GetConnection();
SqlCommand cmd = new SqlCommand("csp_tianjia_wangzhantongjiziliao", connection);
// 该命令的类型为存储过程,不是普通的Sql语句。
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Username", SqlDbType.VarChar, 50).Value = username;
cmd.Parameters.Add("@Url", SqlDbType.VarChar, 50).Value = url;
cmd.Parameters.Add("@Wangzhan_name", SqlDbType.VarChar, 30).Value = index_name;
cmd.Parameters.Add("@Wangzhan_miaoshu", SqlDbType.VarChar, 200).Value = index_miaoshu;
cmd.Parameters.Add("@Baomi", SqlDbType.Int).Value = baomi;
cmd.Parameters.Add("@Shenhe", SqlDbType.Int).Value =shenhe;
cmd.Parameters.Add("@Time", SqlDbType.VarChar,50).Value =time1;
cmd.Parameters.Add("@IsSucceed", SqlDbType.VarChar, 1).Value = "1";
cmd.ExecuteNonQuery();
string retValue = cmd.Parameters["@IsSucceed"].Value.ToString();
connection.Close();
return retValue;
}
在 程序里面
string aa=bd.wangzhan_tongji(username,url,indexname,index_miaoshu,dt,shenhe,baomi);
调用 在判断 aa的值是1还是0 真确吗?