Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何检查哪个存储过程查询正在运行Sql Server Asp.Net?_C#_Asp.net_Sql Server_Insert_Sql Server 2008 R2 - Fatal编程技术网

C# 如何检查哪个存储过程查询正在运行Sql Server Asp.Net?

C# 如何检查哪个存储过程查询正在运行Sql Server Asp.Net?,c#,asp.net,sql-server,insert,sql-server-2008-r2,C#,Asp.net,Sql Server,Insert,Sql Server 2008 R2,我试图一次运行一个查询,首先检查用户名,如果没有exsis,然后插入该值我想知道如何在代码隐藏代码上知道它执行的查询我的代码隐藏代码是什么 public int CreateUser(string UserName,string Pwd) { cmd = new SqlCommand("CreateUser", conn); cmd.CommandType = CommandType.StoredProcedure;

我试图一次运行一个查询,首先检查用户名,如果没有exsis,然后插入该值我想知道如何在代码隐藏代码上知道它执行的查询我的代码隐藏代码是什么

 public int CreateUser(string UserName,string Pwd)
        {
            cmd = new SqlCommand("CreateUser", conn);
            cmd.CommandType = CommandType.StoredProcedure;
            SqlParameter name = cmd.Parameters.Add("@UserName", SqlDbType.VarChar);
            name.Value = UserName;
            SqlParameter password = cmd.Parameters.Add("@Password", SqlDbType.VarChar);
            password.Value = Pwd;
            DataSet ds = new DataSet();
            adpt.SelectCommand = cmd;
            adpt.Fill(ds);
            conn.Close();
            return 0;
        }
我的存储过程是

ALTER PROCEDURE [dbo].[CreateUser] 
    -- Add the parameters for the stored procedure here
    @UserName varchar(200) = NULL,
    @Password varchar(200) = NULL  

AS


IF NOT EXISTS(select * from[dbo].[User] where
             [dbo].[User].User_Name=@UserName)
    -- SET NOCOUNT ON added to prevent extra result sets from
    -- interfering with SELECT statements.
    BEGIN
    SET NOCOUNT ON;

    -- Insert statements for procedure here
    insert into [dbo].[User] (User_Name,User_Password,User_Type)
    values (@UserName,@Password,'User')
END
希望你的建议


提前感谢

您可以在过程结束时选择SELECT@@IDENTITY或SELECT SCOPE_IDENTITY()返回插入的ID。如果该值为NULL,则表示未插入任何记录。

请尝试以下操作:

    public int CreateUser(string UserName,string Pwd)
    {
        int intRowsinserted = 0;

        cmd = new SqlCommand("CreateUser", conn);
        cmd.CommandType = CommandType.StoredProcedure;
        SqlParameter name = cmd.Parameters.Add("@UserName", SqlDbType.VarChar);
        name.Value = UserName;
        SqlParameter password = cmd.Parameters.Add("@Password", SqlDbType.VarChar);
        password.Value = Pwd;

        cmd.Connection.Open();
        intRowsinserted = cmd.ExecuteNonQuery();
        cmd.Connection.Close();
        conn.Close();

        return intRowsinserted;
    }
首先,当我们想要返回数据集时,应该使用adpt.Fill(ds)Second,cmd.ExecuteNonQuery()应用于对表执行插入、更新或删除操作,它将返回插入、更新或删除的行数Third,有关更多详细信息,请参阅


如果这能解决您的问题,请将此答案标记为有用。

嗨,我可以知道了解它的目的吗?您想知道是否创建了一个新用户?其目的是填充用户创建的消息框,该消息框中的错误是什么。请列举一下好吗?