一、数据库Test,
表:create table Customers
(
CustId int IDENTITY(1,1) primary key,
CustName varchar(20) not null,
Address varchar(50),
Linkman varchar(20)
)
//insert into Cusomers values('ggg','xuzhou','zhangsan');
二、配置文件web.config
<?xml version="1.0"?>
<configuration>
<appSettings/>
<connectionStrings>
<add name="TestConnectionString" connectionString="Data Source=GONGCHL;Initial Catalog=Test;Persist Security Info=True;User ID=sa;Password=123" providerName="System.Data.SqlClient"/>
</connectionStrings>
<system.web>
<compilation debug="true"/>
<authentication mode="Windows"/>
</system.web>
</configuration>
三、业务实体
using System;
using System.Collections.Generic;
using System.Text;
namespace com.Model
{
/// <summary>
/// 业务实体CustomerInfo
/// </summary>
[Serializable]
public class CustomerInfo
{
/// <summary>
/// 默认的构造函数
/// </summary>
public CustomerInfo() {}
/// <summary>
/// 有参数的构造函数
/// </summary>
/// <param name="custId">客户号</param>
/// <param name="custName">客户名称</param>
/// <param name="address">客户地址</param>
/// <param name="linkman">联系人</param>
public CustomerInfo(int custId, string custName, string address, string linkman)
{
this.custId = custId;
this.custName = custName;
this.address = address;
this.linkman = linkman;
}
private int custId;
public int CustId
{
get { return custId; }
set { custId = value; }
}
private string custName;
public string CustName
{
get { return custName; }
set { custName = value; }
}
private string address;
public string Address
{
get { return address; }
set { address = value; }
}
private string linkman;
public string Linkman
{
get { return linkman; }
set { linkman = value; }
}
}
}
四、数据访问层
类:SqlHelper
//===============================================================================
// .NET数据访问通用程序,来自Microsoft公司
// 更多信息参见
// http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp
//===============================================================================
using System;
using System.Configuration;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
namespace com.DataAccess
{
/// <summary>
/// SqlHelper类提供很高的数据访问性能,
/// 使用SqlClient类的通用定义.
/// </summary>
public abstract class SqlHelper
{
//定义数据库连接串
public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString;
//public static readonly string ConnectionStringInventoryDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString2"].ConnectionString;
//public static readonly string ConnectionStringOrderDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString3"].ConnectionString;
//public static readonly string ConnectionStringProfile = ConfigurationManager.ConnectionStrings["SQLProfileConnString"].ConnectionString;
// 存贮Cache缓存的Hashtable集合
private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable());
/// <summary>
/// 使用连接字符串,执行一个SqlCommand命令(没有记录返回)
/// 使用提供的参数集.
/// </summary>
/// <remarks>
/// 示例:
/// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));
/// </remarks>
/// <param name="connectionString">一个有效的SqlConnection连接串</param>
/// <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param>
/// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param>
/// <param name="commandParameters">执行命令的参数集</param>
/// <returns>受此命令影响的行数</returns>
public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)
{
SqlCommand cmd = new SqlCommand();
using (SqlConnection conn = new SqlConnection(connectionString))
{
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
int val = cmd.ExecuteNonQuery();
cmd.Parameters.Clear();
return val;
}
}