实例介绍
【实例简介】
开发时建议用SQLHelper类,因为此类对数据库操作的方法进行了封装,开发时,只需要反复调用就可以了。提高重用性。
【实例截图】
【核心代码】
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
namespace CustomerManagementSystem.DAL
{
class SqlHelper
{
public static readonly string connstr = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
public static int ExecuteNonQuery(string sql,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteNonQuery();
}
}
}
public static object ExecuteScalar(string sql,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
return cmd.ExecuteScalar();
}
}
}
public static DataTable ExecuteDataTable(string sql,
params SqlParameter[] parameters)
{
using (SqlConnection conn = new SqlConnection(connstr))
{
conn.Open();
using (SqlCommand cmd = conn.CreateCommand())
{
cmd.CommandText = sql;
cmd.Parameters.AddRange(parameters);
DataSet dataset = new DataSet();
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
adapter.Fill(dataset);
return dataset.Tables[0];
}
}
}
public static object FromDbValue(object value)
{
if (value == DBNull.Value)
{
return null;
}
else
{
return value;
}
}
public static object ToDbValue(object value)
{
if (value == null)
{
return DBNull.Value;
}
else
{
return value;
}
}
}
}
using System;
using System.Data;
using System.Data.SqlClient;
using System.Windows.Forms;
namespace CustomerManagementSystem.DAL
{
public class CustomerDAL
{
private Customer ToCustomer(DataRow row)
{
Customer cust = new Customer();
cust.Id = (long)row["Id"];
cust.Name = (string)row["Name"];
cust.Sex = (string)row["Sex"];
cust.Age = (int)row["Age"];
cust.Department = (string)row["Department"];
cust.BirthDay = (DateTime?)SqlHelper.FromDbValue(row["BirthDay"]);
cust.HireDate = (DateTime?)SqlHelper.FromDbValue(row["HireDate"]);
cust.TelNum = (string)row["TelNum"];
cust.Address = (string)row["Address"];
return cust;
}
#region 增加
public void Insert(Customer customer)
{
SqlHelper.ExecuteNonQuery(@"INSERT INTO [T_Customer]
([Name],[Sex],[Age],[Department]
,[BirthDay],[HireDate],[Address],[TelNum])
VALUES
(@Name,@Sex,@Age,@Department,@BirthDay,@HireDate,@Address,@TelNum)",
new SqlParameter("@Name", customer.Name),
new SqlParameter("@Sex", customer.Sex),
new SqlParameter("@Age", customer.Age),
new SqlParameter("@Department", customer.Department),
new SqlParameter("@BirthDay", SqlHelper.ToDbValue(customer.BirthDay)),
new SqlParameter("@HireDate", SqlHelper.ToDbValue(customer.HireDate)),
new SqlParameter("@Address", customer.Address),
new SqlParameter("@TelNum", customer.TelNum));
}
#endregion
#region 删除
public void DeleteById(long id)
{
SqlHelper.ExecuteNonQuery("delete from T_Customer where Id=@Id",
new SqlParameter("@Id", id));
}
#endregion
#region 更改
public void Update(Customer customer)
{
SqlHelper.ExecuteNonQuery(@"UPDATE [T_Customer]
SET [Name]=@Name
,[Sex]=@Sex
,[Age]=@Age
,[Department]=@Department
,[BirthDay] = @BirthDay
,[HireDate]=@HireDate
,[Address] = @Address
,[TelNum] = @TelNum
WHERE Id=@Id",
new SqlParameter("@Name", customer.Name),
new SqlParameter("@Sex", customer.Sex),
new SqlParameter("@Age", customer.Age),
new SqlParameter("@Department", customer.Department),
new SqlParameter("@BirthDay", SqlHelper.ToDbValue(customer.BirthDay)),
new SqlParameter("@HireDate", SqlHelper.ToDbValue(customer.HireDate)),
new SqlParameter("@Address", customer.Address),
new SqlParameter("@TelNum", customer.TelNum),
new SqlParameter("@Id", customer.Id));
}
#endregion
//public Customer GetDataById(long id)
//{
// DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
// new SqlParameter("@Id", id));
// if (dt.Rows.Count <= 0)
// {
// return null;
// }
// else if (dt.Rows.Count > 1)
// {
// throw new Exception("严重错误,查出多条数据!");
// }
// else
// {
// DataRow row = dt.Rows[0];
// return ToCustomer(row);
// }
//}
public Customer[] GetDataById(long id)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Id=@Id",
new SqlParameter("@Id", id));
Customer[] customers = new Customer[dt.Rows.Count];
if (dt.Rows.Count <= 0)
{
return null;
}
else if (dt.Rows.Count > 1)
{
throw new Exception("严重错误,查出多条数据!");
}
else
{
for (int i = 0; i < dt.Rows.Count; i )
{
DataRow row = dt.Rows[i];
customers[i] = ToCustomer(row);
}
}
return customers;
}
public Customer[] GetDataBySex(string Sex)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Sex=@Sex",
new SqlParameter("@Sex", Sex));
Customer[] customers = new Customer[dt.Rows.Count];
if (dt.Rows.Count <= 0)
{
return null;
}
else
{
for (int i = 0; i < dt.Rows.Count; i )
{
DataRow row = dt.Rows[i];
customers[i] = ToCustomer(row);
}
}
return customers;
}
public Customer[] GetDataByDepartment(string Department)
{
DataTable dt = SqlHelper.ExecuteDataTable("select * from T_Customer where Department=@Department", new SqlParameter("@Department", Department));
Customer[] customers = new Customer[dt.Rows.Count];
if (dt.Rows.Count <= 0)
{
return null;
}
else
{
for (int i = 0; i < dt.Rows.Count; i )
{
DataRow row = dt.Rows[i];
customers[i] = ToCustomer(row);
}
}
return customers;
}
public Customer[] GetAllData()
{
DataTable table = SqlHelper.ExecuteDataTable("select * from T_Customer");
Customer[] customers = new Customer[table.Rows.Count];
for (int i = 0; i < table.Rows.Count; i )
{
DataRow row = table.Rows[i];
customers[i] = ToCustomer(row);
}
return customers;
}
}
}
本人QQ:1150801389
不足之处,希望相关学者指点指点,谢谢!
相关软件
小贴士
感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。
- 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
- 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
- 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
- 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。
关于好例子网
本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明
网友评论
我要评论