一、存儲過程
概述:存儲過程是一種數據庫對象,儲存在數據庫內,可用應用程序通過一個調用執行。允許用戶聲明變量,有條件執行。
調用存儲過程:
首先在數據庫寫好存儲過程
--根據loginId查詢教員信息 if OBJECT_ID('SelectTeacherByLoginId') is not null drop procedure SelectTeacherByLoginId go create procedure SelectTeacherByLoginId @LoginId varchar(50) --參數 as select TeacherID, TeacherName,Sex,LoginId,LoginPwd,Birthday,UserState,t.UserStateId from Teacher t,UserState u where t.UserStateId=u.UserStateId and LoginId=@LoginId go --調用 exec SelectTeacherByLoginId 't001'
然后在應用程序管理類調用:
#region 根據LoginID查詢教員信息 //根據LoginID查詢教員信息 public static Teacher SelectTeacherByLoginId(string loginId) { Teacher tea = null; string sql = "SelectTeacherByLoginId"; SqlDataReader dr = DBHelper.ExecteReader(sql, CommandType.StoredProcedure //調用存儲過程 , new SqlParameter[] {new SqlParameter("@LoginId",loginId)} ); if (dr.Read()) { tea = new Teacher(); tea.TeacherID = Convert.ToInt32(dr["TeacherID"]); tea.LoginId = dr["LoginId"] + ""; tea.LoginPwd = dr["LoginPwd"] + ""; tea.TeacherName = dr["TeacherName"] + ""; tea.Sex = dr["Sex"] + ""; tea.UserState = dr["UserState"] + ""; tea.UserStateId = Convert.ToInt32(dr["UserStateId"]); tea.Birthday = Convert.ToDateTime(dr["Birthday"]); } dr.Close(); DBHelper.CloseCon(); return tea; } #endregion
最后在UI界面調用: