this.sqlCommand.CommandText = "dbo.[UserLogin]";
this.sqlCommand.CommandType = System.Data.CommandType.StoredProcedure;
this.sqlCommand.Connection = this.sqlConnection;
this.sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@RETURN_VALUE", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.ReturnValue, false, ((System.Byte)(0)), ((System.Byte)(0)), "", System.Data.DataRowVersion.Current, null));
this.sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@username", System.Data.SqlDbType.VarChar, 50));
this.sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@password", System.Data.SqlDbType.VarChar, 50));
this.sqlCommand.Parameters.Add(new System.Data.SqlClient.SqlParameter("@status", System.Data.SqlDbType.Int, 4));
// 用户名
sqlCommand.Parameters["@username"].Value = tbUsername.Text;
// 密码
sqlCommand.Parameters["@password"].Value = tbPassword.Text;
// 登录状态
sqlCommand.Parameters["@status"].Value = Convert.ToInt32(ddlStatus.SelectedValue);
try
{
// 打开数据连接
sqlConnection.Open();
// 执行UserLogin存储过程
sqlCommand.ExecuteNonQuery();
// 返回值
iRet = Convert.ToInt32(sqlCommand.Parameters["@RETURN_VALUE"].Value);
}

解决方案 »

  1.   

    --創建存儲過程
    create proc up_get_pass @ID int,@name varchar(10) output
    as
    select @name=name from user_login where ID=@ID
    go--應用程序調用
    declare @name varchar(10)
    exec up_get_pass '1',@name output
    select @name
      

  2.   

    3. 输出参数 
    declare @num int, 
            @sqls nvarchar(4000) 
    set @sqls='select count(*) from tableName' 
    exec(@sqls) 
    --如何将exec执行结果放入变量中? declare @num int, 
            @sqls nvarchar(4000) 
    set @sqls='select @a=count(*) from tableName ' 
    exec sp_executesql @sqls,N'@a int output',@num output 
    select @num