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这句谁帮我解释下啊?

解决方案 »

  1.   

    exists(SELECT users_name FROM users WHERE users_name = @Username) 
    =======================================================================
    exists存在否,本句为判断 @Username 在表 users 是否存在!
      

  2.   

    哦 了解了
    我在调用的时候怎么给 @IsSucceed 赋值呢? 是不是不用赋值啊 或者是那里没写好?
      

  3.   

    IF exists(SELECT users_name FROM users WHERE users_name = @Username) 
      BEGIN
        SET @IsSucceed = '0' -- 有重名的用户,注册失败!
        RETURN
      END
    ______________________________
    exists这个关键字是存在的意思,SELECT users_name FROM users WHERE users_name = @Username是去user表里select用户名是@Username的记录,所以这一段的意思是:如果user表里已经有用户名为@Username的记录,则赋‘0’给@IsSucceed这个OUTPUT参数。这样程序中就可以判断已经有这个用户名了,提示相应的信息给用户。
      

  4.   

    我在类里面怎么写:public string wangzhan_tongji(string username,
    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 真确吗?