ストアド プロシージャの操作は初めてです。
ユーザー名と URL パスをチェックするストアド プロシージャを使用する既存のシステムがあります。ストアド プロシージャは、ユーザーの詳細が存在するかどうかを確認します。存在する場合は 1 を返し、存在しない場合は 0 を返します。
ユーザーの詳細とパスを指定してこのストアド プロシージャを呼び出す asp.net コードを記述し、返された 0 または 1 の値を asp.net で使用しようとしています。
ストアド プロシージャの操作は初めてです。
ユーザー名と URL パスをチェックするストアド プロシージャを使用する既存のシステムがあります。ストアド プロシージャは、ユーザーの詳細が存在するかどうかを確認します。存在する場合は 1 を返し、存在しない場合は 0 を返します。
ユーザーの詳細とパスを指定してこのストアド プロシージャを呼び出す asp.net コードを記述し、返された 0 または 1 の値を asp.net で使用しようとしています。
出力パラメータを持つストアド プロシージャが必要なようです
int errorId = 0;
using(SqlConnection sqlConnection = new SqlConnection(connectionString))
{
using(SqlCommand cmd = new SqlCommand("YourStoredProcedureName", sqlConnection))
{
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter parm=new SqlParameter("@username", SqlDbType.VarChar);
parm.Value="mshiyam";
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
SqlParameter parm2=new SqlParameter("@path",SqlDbType.VarChar);
parm2.value = "Some Path";
parm2.Direction=ParameterDirection.Output;
cmd.Parameters.Add(parm2);
SqlParameter parm3 = new SqlParameter("@errorId",SqlDbType.Int);
parm3.Direction=ParameterDirection.Output;
cmd.Parameters.Add(parm3);
sqlConnection.Open();
sqlConnection.ExecuteNonQuery();
errorId = cmd.Parameters["@errorId"].Value; //This will 1 or 0
}
}
次のコードを使用します。
SqlCommand cmd = new SqlCommand("MyStoredProcedure", cn);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter parm=new SqlParameter("@username",SqlDbType.VarChar);
parm.Value=strUser;
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
parm=new SqlParameter("@url",SqlDbType.VarChar);
parm.Value=strUrl;
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
parm=new SqlParameter("@errorID",SqlDbType.Int);
parm.Direction=ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm);
cn.Open();
cmd.ExecuteNonQuery();
cn.Close();
// Print the output value
Console.WriteLine(cmd.Parameters["@errorID"].Value);
Console.ReadLine();
int errorId = 0;
SqlCommand cmd = new SqlCommand("YourSPName", cn);
cmd.CommandType=CommandType.StoredProcedure;
SqlParameter parm=new SqlParameter("@username",SqlDbType.VarChar);
parm.Value=strUser;
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
parm=new SqlParameter("@url",SqlDbType.VarChar);
parm.Value=strUrl;
parm.Direction =ParameterDirection.Input ;
cmd.Parameters.Add(parm);
parm=new SqlParameter("@errorID",SqlDbType.Int);
parm.Direction=ParameterDirection.Output; // This is important!
cmd.Parameters.Add(parm);
cn.Open();
errorId = (int)cmd.ExecuteNonQuery();
cn.Close();
sqlConnection.Open();
sqlConnection.ExecuteNonQuery();
プット条件:
if(errorId == 1)
{
`"Allow User here"`
}
if(errorId==0)
{
`Redirect when you to redirect to use.`
}