数据库连接类

  1 using System;
  2 using System.Data;
  3 using System.Configuration;
  4 using System.Linq;
  5 using System.Web;
  6 using System.Web.Security;
  7 using System.Web.UI;
  8 using System.Web.UI.HtmlControls;
  9 using System.Web.UI.WebControls;
 10 using System.Web.UI.WebControls.WebParts;
 11 using System.Xml.Linq;
 12 using System.Data.SqlClient;
 13 using System.Web.Configuration;
 14 using System.Collections.Generic;
 15 
 16 /// <summary>
 17 ///EmployeeDB 的摘要说明
 18 /// </summary>
 19 public class EmployeeDB
 20 {
 21     private string connectionString;
 22 
 23     public EmployeeDB()
 24     {
 25         connectionString = WebConfigurationManager.ConnectionStrings["Northwind"].ConnectionString;
 26 
 27     }
 28     public EmployeeDB(string connectionString)
 29     {
 30         this.connectionString = connectionString;
 31     }
 32     public int InsertEmployee(EmployeeDetails emp)
 33     {
 34         SqlConnection con = new SqlConnection(connectionString);
 35         SqlCommand cmd = new SqlCommand("InsertEmployee", con);
 36         cmd.CommandType = CommandType.StoredProcedure;
 37         cmd.Parameters.Add(new SqlParameter("@FirstName", SqlDbType.NVarChar, 10));
 38         cmd.Parameters["@FirstName"].Value = emp.FirstName;
 39         cmd.Parameters.Add(new SqlParameter("@LastName", SqlDbType.NVarChar, 20));
 40         cmd.Parameters["@LastName"].Value = emp.LastName;
 41         cmd.Parameters.Add(new SqlParameter("@TitleOfCourtesy", SqlDbType.NVarChar, 25));
 42         cmd.Parameters["@TitleOfCourtesy"].Value = emp.TitleOfCourtesy;
 43         cmd.Parameters.Add(new SqlParameter("@EmployeeID", SqlDbType.Int, 4));
 44         cmd.Parameters["@EmployeeID"].Direction = ParameterDirection.Output;
 45 
 46         try
 47         {
 48             con.Open();
 49             cmd.ExecuteNonQuery();
 50             return (int)cmd.Parameters["@EmployeeID"].Value;
 51         }
 52         catch (SqlException err)
 53         {
 54             throw new ApplicationException("Data err.");
 55         }
 56         finally
 57         {
 58             con.Close();
 59         }
 60     }
 61 
 62     public void DeleteEmployee(int employeeID)
 63     {
 64         SqlConnection con = new SqlConnection(connectionString);
 65         SqlCommand cmd = new SqlCommand("DeleteEmployee", con);
 66         cmd.CommandType = CommandType.StoredProcedure;
 67         cmd.Parameters.Add(new SqlParameter("@EmployeeID", SqlDbType.Int, 4));
 68         cmd.Parameters["@EmployeeID"].Value = employeeID;
 69 
 70         try
 71         {
 72             con.Open();
 73             cmd.ExecuteNonQuery();
 74         }
 75         catch (SqlException err)
 76         {
 77             throw new ApplicationException("Data Error.");
 78         }
 79         finally
 80         {
 81             con.Close();
 82         }
 83     }
 84 
 85     public void UpdateEmployee(int EmployeeID, string firstName, string lastName,string titleOfCourtesy)
 86     {
 87         SqlConnection con = new SqlConnection(connectionString);
 88         SqlCommand cmd = new SqlCommand("UpdateEmployee", con);
 89         cmd.CommandType = CommandType.StoredProcedure;
 90         cmd.Parameters.Add(new SqlParameter("@Firstname", SqlDbType.NVarChar, 10));
 91         cmd.Parameters["@FirstName"].Value = firstName;
 92         cmd.Parameters.Add(new SqlParameter("@TitleOfCourtesy", SqlDbType.NVarChar, 25));
 93         cmd.Parameters["@TitleOfCourtesy"].Value = titleOfCourtesy;
 94         cmd.Parameters.Add(new SqlParameter("@EmployeeID", SqlDbType.Int, 4));
 95         cmd.Parameters["@EmployeeID"].Value = EmployeeID;
 96 
 97         try
 98         {
 99             con.Open();
100             cmd.ExecuteNonQuery();
101         }
102         catch (SqlException err)
103         {
104             throw new ApplicationException("Data error.");
105         }
106         finally
107         {
108             con.Close();
109         }
110     }
111     public EmployeeDetails GetEmployee(int employeeID)
112     {
113         SqlConnection con = new SqlConnection(connectionString);
114         SqlCommand cmd = new SqlCommand("GetEmployee", con);
115         cmd.CommandType = CommandType.StoredProcedure;
116         cmd.Parameters.Add(new SqlParameter("@EmployeeID", SqlDbType.Int, 4));
117         cmd.Parameters["@EmployeeID"].Value = employeeID;
118 
119         try
120         {
121             con.Open();
122             SqlDataReader reader = cmd.ExecuteReader(CommandBehavior.SingleRow);
123             if (!reader.HasRows)
124                 return null;
125             reader.Read();
126             EmployeeDetails emp = new EmployeeDetails((int)reader["EmployeeID"], (string)reader["FirstName"], (string)reader["LastName"], (string)reader["TitleOfCourtesy"]);
127             reader.Close();
128             return emp;
129         }
130         catch (SqlException err)
131         {
132             throw new ApplicationException("Data error.");
133         }
134         finally
135         {
136             con.Close();
137         }
138     }
139 
140     public List<EmployeeDetails> GetEmployees()
141     {
142         SqlConnection con = new SqlConnection(connectionString);
143         SqlCommand cmd = new SqlCommand("GetEmployees", con);
144         cmd.CommandType = CommandType.StoredProcedure;
145 
146         List<EmployeeDetails> employees = new List<EmployeeDetails>();
147 
148         try
149         {
150             con.Open();
151             SqlDataReader reader = cmd.ExecuteReader();
152             while (reader.Read())
153             {
154                 EmployeeDetails emp = new EmployeeDetails(
155                     (int)reader["EmployeeID"], (string)reader["FirstName"], (string)reader["LastName"], (string)reader["TitleOfCourtesy"]);
156                 employees.Add(emp);
157             }
158             reader.Close();
159             return employees;
160         }
161         catch (SqlException err)
162         {
163             throw new ApplicationException("Data error.");
164         }
165         finally
166         {
167             con.Close();
168         }
169     }
170 
171     public int CountEmployees()
172     {
173         SqlConnection con = new SqlConnection(connectionString);
174         SqlCommand cmd = new SqlCommand("CoutEmployees", con);
175         cmd.CommandType = CommandType.StoredProcedure;
176 
177         try
178         {
179             con.Open();
180             return (int)cmd.ExecuteScalar();
181         }
182         catch (SqlException err)
183         {
184             throw new ApplicationException("Data error.");
185         }
186         finally
187         {
188             con.Close();
189         }
190     }
191 }

 

posted @ 2013-06-03 11:06  加油ing  阅读(193)  评论(0编辑  收藏  举报