1. 程式人生 > >C#呼叫帶引數的儲存過程

C#呼叫帶引數的儲存過程

注:我使用的資料庫為SQL2005,先看下我的儲存過程;

create procedure spAddRenter
@name varchar(20),
@contact varchar(100),
@contractID char(18),
@renterRental money,
@remark varchar(50)='無'  --預設值是【無】
as
insert into Renter 
(renterName,contact,contractID,renterRental,remark)
values 
(@name,@contact,@contractID,@renterRental,@remark)

------------------------------------------------------------------------------------------------

用C#呼叫該儲存過程的程式碼如下:

         /// <summary>
        /// 添加出租人
        /// </summary>
        /// <param name="man">類Renter的一個物件</param>
        /// <returns>返回受影響的行數</returns>
        public static int AddRenter(Renter man)
        {
            using (SqlCommand cmd = new SqlCommand("spAddRenter", SqlHelper.GetConnection()))
            {
                //指定cmd物件的執行方式為儲存過程
                cmd.CommandType = CommandType.StoredProcedure;

                //指定儲存過程的引數並賦值
                cmd.Parameters.Add("@name", SqlDbType.VarChar, 20).Value =man.renterName;
                cmd.Parameters.Add("contact", SqlDbType.VarChar,100).Value =man.contact;
                cmd.Parameters.Add("@contractID", SqlDbType.Char,18).Value =man.contractID;
                cmd.Parameters.Add("@renterRental", SqlDbType.Money).Value =man.renterRental;
                cmd.Parameters.Add("@remark", SqlDbType.VarChar, 50).Value = man.remark;
                
                try
                {
                    return cmd.ExecuteNonQuery();//執行
                }
                catch (System.Exception ex)
                {
                    MessageBox.Show(ex.Message + ex.ToString());
                    return 0;
                }
            }
        }
---------------------------------------------------------------------------------------------------------------------------------

您的十分滿意是我追求的宗旨。

您的一點建議是我後續的動力。