2011-04-21 46 views
0

即時製作存儲過程的dll類...幫助我糾正它......我的老闆說,即時消息缺少參數值返回但我沒有得到任何東西來糾正它...存儲過程的代碼幫助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; 

幫我解決這個代碼...我嘗試讓fne_per_day按member_id和這個基準後添加從根據member_id fine_per_day計算項目,以回執......作爲creteria是like member_id = 5,membership_desc = silver,gol,platinum,fineperday = 30or或20or10

回答

0

我想你會需要類似的東西來返回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; 
} 
+0

謝謝你的回覆...但我想fine_per天計算與acc到member_is所以這個代碼工作好嗎?並且怎麼樣calculatefine()類我的老闆說我也hv做smith它... soo plzzz幫助我! – niketa 2011-04-23 07:21:42