0
即時嘗試爲我的.Net應用程序實現自定義角色提供程序。我試着去檢查是否由用戶添加的角色在數據庫中已存在或者無法使用像捕獲存儲過程的返回值
SqlConnection sqlConnection = new SqlConnection(conn);
SqlCommand sqlCommand = new SqlCommand("aspnet_Roles_RoleExists", sqlConnection);
sqlCommand.CommandType = CommandType.StoredProcedure;
sqlCommand.Parameters.Add("@RoleName", SqlDbType.VarChar, 256).Value = "/";
sqlCommand.Parameters.Add("@ApplicationName", SqlDbType.VarChar, 256).Value = roleName;
sqlCommand.Parameters.Add("@ReturnValue", SqlDbType.Int,4).Direction = ParameterDirection.ReturnValue;
try
{
sqlConnection.Open();
sqlCommand.ExecuteNonQuery();
int x = (int)sqlCommand.Parameters["@ReturnValue"].Value;
if ((int)sqlCommand.Parameters["@ReturnValue"].Value == 0)
...
的問題Asp.NET的角色提供的存儲過程是,當我添加的角色如admin
並運行SP從數據庫中手工像
DECLARE @return_value int
EXEC @return_value = [dbo].[aspnet_Roles_RoleExists]
@ApplicationName = N'/',
@RoleName = N'admin'
SELECT 'Return Value' = @return_value
它給了我正確的結果,但在應用程序,如果我嘗試再次添加的角色admin
聲明
(int)sqlCommand.Parameters["@ReturnValue"].Value
總是給我0
。任何人都可以引導我到是什麼原因造成這種現象
重複的http://stackoverflow.com/questions/5412256/return-value-using-sqlcommand –
@SebastianMeine但即時不使用任何類的排序爲'SafeDataReader' –
你有一個點那裏... –