2011-04-21 3 views
0

메신저로 저장된 프로 시저에 대한 DLL 클래스 만들기 ... 그것을 수정하는 데 도움이 ... 내 상사가 반환하는 매개 변수 값이 누락되었습니다하지만 그것을 해결하기 위해 아무것도 얻지 못하는 메신저 ... creteria 그대로저장 프로 시저 dll 클래스에 대한 코드 도움말

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; 

도움 나 ... MEMBER_ID 당이 참조 이후로 fne_per_day려고 메신저는 MEMBER_ID fine_per_day에 따라 계산에서 프로젝트에 폼을 반환 추가됩니다 ...이 코드를 수정하는 like member_id = 5, membership_desc = silver, gol, platinum, fineperday = 30 또는 20or10

답변

0

출력 매개 변수를 반환 할 때 이와 같은 것이 필요하다고 생각합니다. 저장 프로 시저 :

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; 
} 
+0

ur 답장을 보내 주셔서 감사합니다 ...하지만 fine_per day를 member_is에 맞게 계산하면이 코드가 잘 작동합니까? 그리고 무엇에 대해 calculatefine() 클래스 내 상사는 내가 또한 그것의 smthing 할 hv ... soo plzzz 나를 도와주세요 !!! – niketa