小编and*_*ter的帖子

SQL Server存储过程中的返回值

我有一个存储过程,其中包含if语句.如果计算的行数大于0,则应将唯一的输出参数设置@UserId为0

但是它只返回查询第二部分中的值.

@EmailAddress varchar(200),
@NickName varchar(100),
@Password varchar(150),
@Sex varchar(50),
@Age int,
@EmailUpdates int,
@UserId int OUTPUT
IF 
    (SELECT COUNT(UserId) FROM RegUsers WHERE EmailAddress = @EmailAddress) > 0
    BEGIN
        SET @UserId = 0
    END
ELSE
    BEGIN
        INSERT INTO RegUsers (EmailAddress,NickName,PassWord,Sex,Age,EmailUpdates) VALUES (@EmailAddress,@NickName,@Password,@Sex,@Age,@EmailUpdates)
        SELECT SCOPE_IDENTITY()
    END

END
Run Code Online (Sandbox Code Playgroud)

sql sql-server stored-procedures

12
推荐指数
1
解决办法
12万
查看次数

在Gridview的BoundField中显示多个数据字段

我有一个asp:GridView受约束的.在这里我有多列,我试图将两个数据库字段中的数据连接成一个字段.

这该怎么做?

像这样的东西?

asp:BoundField DataField="field1 + ' ' + field2" HeaderText="Status" SortExpression="info"
Run Code Online (Sandbox Code Playgroud)

c# asp.net

11
推荐指数
3
解决办法
4万
查看次数

当value为null时,在查询中设置默认值

我正在运行一个非常简单的查询,但是对于某些结果,一个字段中的值为null.如果值为null,如何将该值设置为"字符串"?

就像是

SELECT RegName,
    RegEmail,
    RegPhone,
    RegOrg,
    RegCountry,
    DateReg,
    (Website IS NULL? 'no website' : Website) AS WebSite
FROM RegTakePart
WHERE Reject IS NULL
Run Code Online (Sandbox Code Playgroud)

它将在sql server 2005上运行

谢谢

sql sql-server-2005

10
推荐指数
3
解决办法
5万
查看次数

从方法返回datareader

我有以下方法

    public static SqlDataReader MenuDataReader(string url)
    {
        using (SqlConnection con = new SqlConnection(connectionString))
        {
            using (SqlCommand cmd = new SqlCommand("spR_GetChildMenus", con))
            {
                cmd.CommandType = CommandType.StoredProcedure;
                cmd.Parameters.AddWithValue("@PageUrl", url);
                cmd.Parameters.AddWithValue("@MenuId", ParameterDirection.Output);
                cmd.Parameters.AddWithValue("@ParentId", ParameterDirection.Output);
                cmd.Parameters.AddWithValue("@TitleText", ParameterDirection.Output);
                cmd.Parameters.AddWithValue("@ExternalUrl", ParameterDirection.Output);
                cmd.Parameters.AddWithValue("@FullUrl", ParameterDirection.Output);
                cmd.Parameters.AddWithValue("@ChildCount", ParameterDirection.Output);
                con.Open();
                SqlDataReader reader = cmd.ExecuteReader();
                if (reader.HasRows)
                {
                    //return reader;

                    while (reader.Read())
                    {
                        return reader;
                    }

                }
            }
        }
        return null;
    }
Run Code Online (Sandbox Code Playgroud)

我这样称呼

        SqlDataReader reader = MenuDataReader(url);
        if (reader.HasRows)
        {
            while (reader.Read())
            { }}
Run Code Online (Sandbox Code Playgroud)

但我收到错误信息

读取器关闭时无效尝试调用HasRows.

谁能帮我吗

谢谢

c# asp.net

7
推荐指数
2
解决办法
2万
查看次数