справка по коду для класса dll хранимых процедур

#c#

#c#

Вопрос:

я создаю класс dll для хранимой процедуры как … помогите мне исправить it…my босс сказал, что мне не хватает значений параметров для возврата, но я не получаю ничего, чтобы это исправить…

 public class transactionService

{

SqlConnection cs;


private void OpenConnection()

{

cs = new SqlConnection();

cs.ConnectionString = "Data Source=IRIS-CSG-174;Initial Catalog=library_system;Integrated Security=True";

cs.Open();

}

public membership_details calculatefine()

{

OpenConnection();

SqlCommand cmd = new SqlCommand();

cmd.CommandType = CommandType.StoredProcedure;

cmd.CommandText = "Exec member_fine_detail";

cmd.Parameters.Add(new SqlParameter("member_id", SqlDbType.Int));



membership_details myObjec = new membership_details();

cmd.ExecuteNonQuery();

SqlDataReader sdr = cmd.ExecuteReader();

myObjec.fine_per_day = 0;


return myObjec;
  

помогите мне исправить этот код … я пытаюсь получить fne_per_day в соответствии с member_id и после добавления этой ссылки в форму возврата в проекте, которая в соответствии с member_id fine_per_day является calculated…as критерий имеет вид member_id=5,membership_desc = silver, gol, platinum, fineperday = 30 или 20 или 10

Ответ №1:

Я думаю, вам понадобится что-то вроде этого для возврата параметра out вашей хранимой процедуры:

 public membership_details calculatefine()
{

     OpenConnection();

     SqlCommand cmd = new SqlCommand();

     cmd.CommandType = CommandType.StoredProcedure;

     cmd.CommandText = "Exec member_fine_detail";

     cmd.Parameters.Add(new SqlParameter("@member_id", SqlDbType.Int));

     //Sql parameter corresponding to the output parameter
     cmd.Parameters.Add(new SqlParameter("@fine_per_day", SqlDbType.Int));
     cmd.Parameters[cmd.Parameters.Count - 1].Direction = ParameterDirection.Output;

     //execute the stored procedure
     cmd.ExecuteNonQuery();

     //obtain the value for the output parameter
     myObjec.fine_per_day = (int)cmd.Parameters["@fine_per_day"].Value;

     return myObjec;
}
  

Комментарии:

1. спасибо за ваш ответ… но я хочу, чтобы fine_per day вычислялся с учетом member_is, так будет ли этот код хорошо работать??? а как насчет класса calculatefine () мой босс сказал, что я тоже должен что-то с этим сделать … так что, пожалуйста, помогите мне!!!