C#呼叫帶引數的儲存過程
阿新 • • 發佈:2018-12-30
注:我使用的資料庫為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; } } }
您的十分滿意是我追求的宗旨。
您的一點建議是我後續的動力。