我刚开始接触存储过程。
我们有一个现有的系统,使用存储过程检查用户名和URL路径。存储过程将检查用户详细信息是否存在。如果存在,则返回1,否则返回0。
我正在尝试编写asp.net代码,通过提供用户详细信息和路径来调用此存储过程,然后在asp.net中使用返回的0或1值。
我刚开始接触存储过程。
我们有一个现有的系统,使用存储过程检查用户名和URL路径。存储过程将检查用户详细信息是否存在。如果存在,则返回1,否则返回0。
我正在尝试编写asp.net代码,通过提供用户详细信息和路径来调用此存储过程,然后在asp.net中使用返回的0或1值。
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
}
}
SqlConnection
放进了 using()....
块中 - 但是你也应该对 SqlCommand
进行同样的操作! - marc_scmd.ExecuteNonQuery();
吗? - Maury MarkowitzSqlCommand 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.`
}