Class Data.cs sử lý mọi thao tác thêm , xoá sửa và delete trong ASP.net

Bài này hướng dẫn bạn xây dựng lớp truy cập dữ liệu bằng C#, và xử lý các hàm:

Trong các dự án xây dựng website bằng ASP.NET thì người lập trình thường viết các hàm, thủ tục dùng chung cho toàn bộ dự án. Dưới đây tôi xin giới thiệu một số hàm cơ bản để truy xuất dữ liệu và sử lý các sự kiện Insert, Update,Delete trong ASP.NET

using System;
using System.Data;
using System.Data.SqlClient;
using System.Web.UI.WebControls;

namespace hungnm.data
{
///

/// Summary description for clsConnection.
///

public class clsConnection
{
#region clsConnection()
///

/// Init()
///

public clsConnection()
{
//
// TODO: Add constructor logic here
//
}
#endregion

#region GetDataTable

public static DataTable GetDataTable(string mySql, CommandType sqlCT)
{
SqlConnection Conn = null;
SqlCommand cmd = null;
DataTable dt = new DataTable();
SqlDataAdapter adpAdapter = null;
try
{
Conn = new SqlConnection(clsVariables.sqlConnString);
Conn.Open();
cmd = new SqlCommand(mySql, Conn);
cmd.CommandType = sqlCT;
cmd.CommandTimeout = 20000;
adpAdapter = new SqlDataAdapter();
adpAdapter.SelectCommand = cmd;
adpAdapter.Fill(dt);
return dt;
}
catch (Exception ex)
{
throw ex;
return null;
}
finally
{
dt.Dispose();
cmd.Dispose();
adpAdapter.Dispose();
Conn.Dispose();
}
}

public static DataTable GetDataTable(string strSql, SqlParameter[] param, CommandType sqlCT)
{
SqlConnection Conn = null;
SqlCommand cmd = null;
DataTable ds = new DataTable();
SqlDataAdapter adpAdapter = null;
try
{
Conn = new SqlConnection(clsVariables.sqlConnString);
cmd = CreateSqlCmd(strSql, Conn, param, sqlCT);
adpAdapter = new SqlDataAdapter();
Conn.Open();
cmd.Connection = Conn;
adpAdapter.SelectCommand = cmd;
adpAdapter.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw ex;
ds = null;
}
finally
{
ds.Dispose();
cmd.Dispose();
adpAdapter.Dispose();
Conn.Dispose();
}
}
#endregion

#region GetDataRow
///

/// Get DataRow theo câu lệnh sql truyền vào
///

///
///
public static DataRow GetDataRow(string mySql, CommandType sqlCT)
{
DataTable dt = new DataTable();
try
{
DataRow iRow;
dt = GetDataTable(mySql, sqlCT);
if (dt != null && dt.Rows.Count > 0)
{
iRow = dt.Rows[0];
}
else
iRow = null;

return iRow;
}
catch (Exception ex)
{
throw ex;
return null;
}
finally
{
dt.Dispose();
}
}

public static DataRow GetDataRow(string strSql, SqlParameter[] param, CommandType sqlCT)
{
DataTable dt = new DataTable();
try
{
DataRow iRow;
dt = GetDataTable(strSql, param, sqlCT);
if (dt != null && dt.Rows.Count > 0)
{
iRow = dt.Rows[0];
}
else
iRow = null;

return iRow;
}
catch (Exception ex)
{
throw ex;
return null;
}
finally
{
dt.Dispose();
}
}
#endregion

#region CreateSqlCmd()
///

/// Tạo đối tượng sqlCmd từ các tham số truyền vào
///

///
///
///
///
///
public static SqlCommand CreateSqlCmd(string mySql, SqlConnection sqlConn, SqlParameter[] param, CommandType cmdCT)
{
SqlCommand sqlCmd = new SqlCommand(mySql, sqlConn);
sqlCmd.CommandType = cmdCT;
sqlCmd.CommandTimeout = 20000;
if (param != null)
if (param.Length > 0)
{
foreach (SqlParameter pr in param)
{
sqlCmd.Parameters.Add(pr);
}
}
return sqlCmd;
}
#endregion

#region DataSet
public static DataSet GetDataSet(string mySql, CommandType sqlCT)
{
SqlConnection Conn = null;
SqlCommand cmd = null;
DataSet ds = new DataSet();
SqlDataAdapter adpAdapter = null;
try
{
Conn = new SqlConnection(clsVariables.sqlConnString);
Conn.Open();
cmd = new SqlCommand(mySql, Conn);
cmd.CommandType = sqlCT;
cmd.CommandTimeout = 20000;
adpAdapter = new SqlDataAdapter();
adpAdapter.SelectCommand = cmd;
adpAdapter.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw ex;
return null;
}
finally
{
ds.Dispose();
cmd.Dispose();
adpAdapter.Dispose();
Conn.Dispose();
}
}

public static DataSet GetDataSet(string strSql, SqlParameter[] param, CommandType sqlCT)
{
SqlConnection Conn = null;
SqlCommand cmd = null;
DataSet ds = new DataSet();
SqlDataAdapter adpAdapter = null;
try
{
Conn = new SqlConnection(clsVariables.sqlConnString);
cmd = CreateSqlCmd(strSql, Conn, param, sqlCT);
adpAdapter = new SqlDataAdapter();
Conn.Open();
cmd.Connection = Conn;
adpAdapter.SelectCommand = cmd;
adpAdapter.Fill(ds);
return ds;
}
catch (Exception ex)
{
throw ex;
ds = null;
}
finally
{
ds.Dispose();
cmd.Dispose();
adpAdapter.Dispose();
Conn.Dispose();
}
}
#endregion

#region ExcutedNonQuery
public static bool ExcutedNonQuery(string mySql, CommandType sqlCT)
{
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = new SqlConnection(clsVariables.sqlConnString);
conn.Open();
cmd = new SqlCommand(mySql, conn);
cmd.CommandType = sqlCT;
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{
throw ex;
return false;
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
public static bool ExcutedNonQuery(string mySql, SqlParameter[] parram, CommandType sqlCT)
{
SqlConnection conn = null;
SqlCommand cmd = null;
try
{
conn = new SqlConnection(clsVariables.sqlConnString);
conn.Open();
cmd = CreateSqlCmd(mySql, conn, parram, sqlCT);
cmd.ExecuteNonQuery();
return true;
}
catch (Exception ex)
{
throw ex;
return false;
}
finally
{
cmd.Dispose();
conn.Close();
conn.Dispose();
}
}
#endregion
————————————–
– Khi bạn viết trong các lớp DAL và BOL thì chỉ cần truyền vào các tham số, nếu là câu lệnh sql bình thường thì truyền vào sqlCT là CommandType.Text và truyền vào tham số là Null
– Nếu là một Procedure viết trong database thì ta truyền vào CommandType.StoredProcedure;
Trong đó lớp clsVariables là lớp chứa hàm kết nối đến cơ sở dữ liệu.:
có hàm sqlConnString để kết nối đến database
ta có thể viết hàm đó đơn giản như sau:
public static string sqlConnString = clsFunction.GetConfigurationValue(“connectionString”);

Trong đó Hàm GetConfigurationValue là hàm lấy ra từ lớp clsFunction

#region GetValueOfConfiguration(ConfigKey)

///

/// Lấy chuỗi giá trị được thiết lập trong App của web.config
///

/// Key tương ứng với chuỗi cần lấy
///
public static string GetConfigurationValue(string ConfigKey)
{
try
{
if (ConfigKey != null)
return System.Configuration.ConfigurationSettings.AppSettings[ConfigKey];
}
catch (Exception ex)
{
string tmp;
tmp = ex.ToString();
}
return “”;
}

#endregion

– Bài viết này chỉ mang tính chất giới thiệu, mong mọi người góp ý và phát triển thành những thư viện không thể thiếu cho bản thân mình khi làm một dự án website

Về tieuyeuit
Lập trình viên Asp.net Tôi chia sẻ một,bạn chia sẻ một và chúng ta có rất nhiều!

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: