一、数据库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 >三、业务实体
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 5 namespace com.Model 6 { 7 /**//// <summary> 8 /// 业务实体CustomerInfo 9 /// </summary>10 [Serializable]11 public class CustomerInfo12 {13 14 /**//// <summary>15 /// 默认的构造函数16 /// </summary> 17 public CustomerInfo() {}18 19 /**//// <summary>20 /// 有参数的构造函数21 /// </summary> 22 /// <param name="custId">客户号</param>23 /// <param name="custName">客户名称</param>24 /// <param name="address">客户地址</param>25 /// <param name="linkman">联系人</param>26 public CustomerInfo(int custId, string custName, string address, string linkman)27 {28 29 this.custId = custId;30 this.custName = custName;31 this.address = address;32 this.linkman = linkman;33 }34 private int custId;35 public int CustId36 {37 get { return custId; }38 set { custId = value; }39 }40 41 private string custName;42 public string CustName43 {44 get { return custName; }45 set { custName = value; }46 }47 48 private string address;49 public string Address50 {51 get { return address; }52 set { address = value; }53 }54 55 private string linkman;56 public string Linkman57 {58 get { return linkman; }59 set { linkman = value; }60 }61 }62} 63四、数据访问层类:SqlHelper
1 // =============================================================================== 2 // .NET数据访问通用程序,来自Microsoft公司 3 // 更多信息参见 4 // http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp 5 // =============================================================================== 6 7 using System; 8 using System.Configuration; 9 using System.Data; 10 using System.Data.SqlClient; 11 using System.Collections; 12 13 namespace com.DataAccess 14 { 15 16 /**//// <summary> 17 /// SqlHelper类提供很高的数据访问性能, 18 /// 使用SqlClient类的通用定义. 19 /// </summary> 20 public abstract class SqlHelper 21 { 22 23 //定义数据库连接串 24 public static readonly string ConnectionStringLocalTransaction = ConfigurationManager.ConnectionStrings["TestConnectionString"].ConnectionString; 25 //public static readonly string ConnectionStringInventoryDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString2"].ConnectionString; 26 //public static readonly string ConnectionStringOrderDistributedTransaction = ConfigurationManager.ConnectionStrings["SQLConnString3"].ConnectionString; 27 //public static readonly string ConnectionStringProfile = ConfigurationManager.ConnectionStrings["SQLProfileConnString"].ConnectionString; 28 29 // 存贮Cache缓存的Hashtable集合 30 private static Hashtable parmCache = Hashtable.Synchronized(new Hashtable()); 31 32 /**//// <summary> 33 /// 使用连接字符串,执行一个SqlCommand命令(没有记录返回) 34 /// 使用提供的参数集. 35 /// </summary> 36 /// <remarks> 37 /// 示例: 38 /// int result = ExecuteNonQuery(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); 39 /// </remarks> 40 /// <param name="connectionString">一个有效的SqlConnection连接串</param> 41 /// <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param> 42 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param> 43 /// <param name="commandParameters">执行命令的参数集</param> 44 /// <returns>受此命令影响的行数</returns> 45 public static int ExecuteNonQuery(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) 46 { 47 48 SqlCommand cmd = new SqlCommand(); 49 50 using (SqlConnection conn = new SqlConnection(connectionString)) 51 { 52 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters); 53 int val = cmd.ExecuteNonQuery(); 54 cmd.Parameters.Clear(); 55 return val; 56 } 57 } 58 59 /**//// <summary> 60 /// 在一个存在的连接上执行数据库的命令操作 61 /// 使用提供的参数集. 62 /// </summary> 63 /// <remarks> 64 /// e.g.: 65 /// int result = ExecuteNonQuery(connection, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); 66 /// </remarks> 67 /// <param name="conn">一个存在的数据库连接对象</param> 68 /// <param name="commandType">命令类型CommandType (stored procedure, text, etc.)</param> 69 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param> 70 /// <param name="commandParameters">执行命令的参数集</param> 71 /// <returns>受此命令影响的行数</returns> 72 public static int ExecuteNonQuery(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) 73 { 74 75 SqlCommand cmd = new SqlCommand(); 76 77 PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters); 78 int val = cmd.ExecuteNonQuery(); 79 cmd.Parameters.Clear(); 80 return val; 81 } 82 83 /**//// <summary> 84 /// 在一个事务的连接上执行数据库的命令操作 85 /// 使用提供的参数集. 86 /// </summary> 87 /// <remarks> 88 /// e.g.: 89 /// int result = ExecuteNonQuery(trans, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24)); 90 /// </remarks> 91 /// <param name="trans">一个存在的事务</param> 92 /// <param name="commandType">命令类型CommandType (stored procedure, text, etc.)</param> 93 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param> 94 /// <param name="commandParameters">执行命令的参数集</param> 95 /// <returns>受此命令影响的行数</returns> 96 public static int ExecuteNonQuery(SqlTransaction trans, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters) 97 { 98 SqlCommand cmd = new SqlCommand(); 99 PrepareCommand(cmd, trans.Connection, trans, cmdType, cmdText, commandParameters);100 int val = cmd.ExecuteNonQuery();101 cmd.Parameters.Clear();102 return val;103 }104 105 /**//// <summary>106 /// 在一个连接串上执行一个命令,返回一个SqlDataReader对象107 /// 使用提供的参数.108 /// </summary>109 /// <remarks>110 /// e.g.: 111 /// SqlDataReader r = ExecuteReader(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));112 /// </remarks>113 /// <param name="connectionString">一个有效的SqlConnection连接串</param>114 /// <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param>115 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param>116 /// <param name="commandParameters">执行命令的参数集</param>117 /// <returns>一个结果集对象SqlDataReader</returns>118 public static SqlDataReader ExecuteReader(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)119 {120 SqlCommand cmd = new SqlCommand();121 SqlConnection conn = new SqlConnection(connectionString);122 123 // 如果不存在要查询的对象,则发生异常124 // 连接要关闭125 // CommandBehavior.CloseConnection在异常时不发生作用126 try127 {128 PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);129 SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);130 cmd.Parameters.Clear();131 return rdr;132 }133 catch134 {135 conn.Close();136 throw;137 }138 }139 140 /**//// <summary>141 /// 在一个连接串上执行一个命令,返回表中第一行,第一列的值142 /// 使用提供的参数.143 /// </summary>144 /// <remarks>145 /// e.g.: 146 /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));147 /// </remarks>148 /// <param name="connectionString">一个有效的SqlConnection连接串</param>149 /// <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param>150 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param>151 /// <param name="commandParameters">执行命令的参数集</param> /// <returns>返回的对象,在使用时记得类型转换</returns>152 public static object ExecuteScalar(string connectionString, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)153 {154 SqlCommand cmd = new SqlCommand();155 156 using (SqlConnection connection = new SqlConnection(connectionString))157 {158 PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);159 object val = cmd.ExecuteScalar();160 cmd.Parameters.Clear();161 return val;162 }163 }164 165 /**//// <summary>166 /// 在一个连接上执行一个命令,返回表中第一行,第一列的值167 /// 使用提供的参数.168 /// </summary>169 /// <remarks>170 /// e.g.: 171 /// Object obj = ExecuteScalar(connString, CommandType.StoredProcedure, "PublishOrders", new SqlParameter("@prodid", 24));172 /// </remarks>173 /// <param name="connectionString">一个有效的SqlConnection连接</param>174 /// <param name="commandType">命令类型CommandType(stored procedure, text, etc.)</param>175 /// <param name="commandText">存贮过程名称或是一个T-SQL语句串</param>176 /// <param name="commandParameters">执行命令的参数集</param> /// <returns>返回的对象,在使用时记得类型转换</returns>177 public static object ExecuteScalar(SqlConnection connection, CommandType cmdType, string cmdText, params SqlParameter[] commandParameters)178 {179 180 SqlCommand cmd = new SqlCommand();181 182 PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);183 object val = cmd.ExecuteScalar();184 cmd.Parameters.Clear();185 return val;186 }187 188 /**//// <summary>189 /// 在缓存中添加参数数组190 /// </summary>191 /// <param name="cacheKey">参数的Key</param>192 /// <param name="cmdParms">参数数组</param>193 public static void CacheParameters(string cacheKey, params SqlParameter[] commandParameters)194 {195 parmCache[cacheKey] = commandParameters;196 }197 198 /**//// <summary>199 /// 提取缓存的参数数组200 /// </summary>201 /// <param name="cacheKey">查找缓存的key</param>202 /// <returns>返回被缓存的参数数组</returns>203 public static SqlParameter[] GetCachedParameters(string cacheKey)204 {205 SqlParameter[] cachedParms = (SqlParameter[])parmCache[cacheKey];206 207 if (cachedParms == null)208 return null;209 210 SqlParameter[] clonedParms = new SqlParameter[cachedParms.Length];211 212 for (int i = 0, j = cachedParms.Length; i < j; i++)213 clonedParms[i] = (SqlParameter)((ICloneable)cachedParms[i]).Clone();214 215 return clonedParms;216 }217 218 /**//// <summary>219 /// 提供一个SqlCommand对象的设置220 /// </summary>221 /// <param name="cmd">SqlCommand对象</param>222 /// <param name="conn">SqlConnection 对象</param>223 /// <param name="trans">SqlTransaction 对象</param>224 /// <param name="cmdType">CommandType 如存贮过程,T-SQL</param>225 /// <param name="cmdText">存贮过程名或查询串</param>226 /// <param name="cmdParms">命令中用到的参数集</param>227 private static void PrepareCommand(SqlCommand cmd, SqlConnection conn, SqlTransaction trans, CommandType cmdType, string cmdText, SqlParameter[] cmdParms)228 {229 230 if (conn.State != ConnectionState.Open)231 conn.Open();232 233 cmd.Connection = conn;234 cmd.CommandText = cmdText;235 236 if (trans != null)237 cmd.Transaction = trans;238 239 cmd.CommandType = cmdType;240 241 if (cmdParms != null)242 {243 foreach (SqlParameter parm in cmdParms)244 cmd.Parameters.Add(parm);245 }246 }247 }248} 249 250类:Customer
1 using System; 2 using System.Data.SqlClient; 3 using System.Data; 4 using System.Text; 5 using System.Collections.Generic; 6 using com.Model; 7 8 namespace com.DataAccess 9 { 10 /**//// <summary> 11 /// 对客户表的所有数据访问操作 12 /// </summary> 13 public class Customer 14 { 15 16 //静态常量,参数名,T-SQL串 17 private const string SQL_SELECT_CUSTOMER_BY_ID = 18 "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS WHERE CustID = @CustId"; 19 private const string SQL_SELECT_CUSTOMER_BY_NAME = 20 "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS WHERE CustName = @CustName"; 21 private const string SQL_SELECT_CUSTOMER_BY_ALL = 22 "SELECT CustId, CustName, Address, Linkman FROM CUSTOMERS"; 23 private const string SQL_UPDATE_CUSTOMER_BY_ID = 24 "UPDATE CUSTOMERS SET CustName=@CustName, Address=@Address, Linkman = @Linkman WHERE CustId=@CustId "; 25 private const string SQL_DELETE_CUSTOMER_BY_ID = 26 "DELETE CUSTOMERS WHERE CustId=@CustId "; 27 private const string SQL_INSERT_CUSTOMER = 28 "Declare @ID int;INSERT INTO CUSTOMERS VALUES(@CustName, @Address, @Linkman);SELECT @ID = @@IDENTITY; SELECT @ID"; 29 30 private const string PARM_CUSTOMERID = "@CustId"; 31 private const string PARM_CUSTOMERNAME = "@CustName"; 32 private const string PARM_ADDRESS = "@Address"; 33 private const string PARM_LINKMAN = "@Linkman"; 34 35 /**//// <summary> 36 /// 按客户ID查询 37 /// </summary> 38 /// <param name="custId">客户号</param> 39 /// <returns>客户对象</returns> 40 public CustomerInfo GetCustomerById(int custId) 41 { 42 CustomerInfo customerInfo=null; 43 SqlParameter parm = new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int); 44 parm.Value = custId; 45 46 //按客户号参数执行查询得到一个客户信息 47 using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_ID, parm)) 48 { 49 if (rdr.Read()) 50 customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3)); 51 } 52 return customerInfo; 53 } 54 55 /**//// <summary> 56 /// 按客户名称查询 57 /// </summary> 58 /// <param name="custName">客户名称</param> 59 /// <returns>客户对象</returns> 60 public CustomerInfo GetCustomerByName(string custName) 61 { 62 CustomerInfo customerInfo = null; 63 SqlParameter parm = new SqlParameter(PARM_CUSTOMERNAME, SqlDbType.VarChar,20); 64 parm.Value = custName; 65 66 //按客户号参数执行查询得到一个客户信息 67 using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_NAME, parm)) 68 { 69 if (rdr.Read()) 70 customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3)); 71 } 72 return customerInfo; 73 } 74 75 /**//// <summary> 76 /// 查询所有客户信息 77 /// 结果为IList 78 /// </summary> 79 /// <returns>一个客户集合</returns> 80 public IList<CustomerInfo> GetCusomersByAll() 81 { 82 83 IList<CustomerInfo> customers = new List<CustomerInfo>(); 84 85 //Finally execute the query 86 using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_SELECT_CUSTOMER_BY_ALL, null)) 87 { 88 while (rdr.Read()) 89 { 90 CustomerInfo customerInfo = new CustomerInfo(rdr.GetInt32(0), rdr.GetString(1), rdr.GetString(2), rdr.GetString(3)); 91 customers.Add(customerInfo); 92 } 93 } 94 95 return customers; 96 } 97 /**//// <summary> 98 /// 插入一个客户信息 99 /// </summary>100 /// <param name="customer">客户对象CustomerInfo</param> 101 /// <returns>bool类型,true or false</returns>102 public bool InsertCustomer(CustomerInfo customerInfo)103 {104 SqlParameter[] paras = new SqlParameter[3];105 paras[0]=new SqlParameter(PARM_CUSTOMERNAME,SqlDbType.VarChar,20);106 paras[0].Value=customerInfo.CustName;107 paras[1]=new SqlParameter(PARM_ADDRESS,SqlDbType.VarChar,50);108 paras[1].Value=customerInfo.Address;109 paras[2]=new SqlParameter(PARM_LINKMAN,SqlDbType.VarChar,20);110 paras[2].Value=customerInfo.Linkman;111 112 using (SqlDataReader rdr = SqlHelper.ExecuteReader(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_INSERT_CUSTOMER, paras))113 {114 if (rdr.Read())115 customerInfo.CustId = rdr.GetInt32(0);116 else117 return false;118 }119 return true;120 }121 122 /**//// <summary>123 /// 修改一个客户信息124 /// </summary>125 /// <param name="customer">客户对象CustomerInfo</param> 126 /// <returns>bool类型,true or false</returns>127 public bool UpdateCustomerByID(CustomerInfo customerInfo)128 {129 SqlParameter[] paras = new SqlParameter[4];130 paras[0] = new SqlParameter(PARM_CUSTOMERNAME, SqlDbType.VarChar, 20);131 paras[0].Value = customerInfo.CustName;132 paras[1] = new SqlParameter(PARM_ADDRESS, SqlDbType.VarChar, 50);133 paras[1].Value = customerInfo.Address;134 paras[2] = new SqlParameter(PARM_LINKMAN, SqlDbType.VarChar, 20);135 paras[2].Value = customerInfo.Linkman;136 paras[3] = new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int);137 paras[3].Value = customerInfo.CustId;138 139 int row = SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_UPDATE_CUSTOMER_BY_ID, paras);140 if (row == 0)141 return false;142 return true;143 }144 145 /**//// <summary>146 /// 按ID删除一个客户信息147 /// </summary>148 /// <param name="custId">客户号</param> 149 /// <returns>bool类型,true or false</returns>150 public bool DeleteCustomerByID(int custId)151 {152 SqlParameter para = new SqlParameter(PARM_CUSTOMERID, SqlDbType.Int);153 para.Value = custId;154 155 int row = SqlHelper.ExecuteNonQuery(SqlHelper.ConnectionStringLocalTransaction, CommandType.Text, SQL_DELETE_CUSTOMER_BY_ID, para);156 if (row == 0)157 return false;158 return true;159 }160 161 }162}五、业务逻辑层
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using com.DataAccess; 5 using com.Model; 6 using com.BusinessRule; 7 8 namespace com.BusinessLogic 9 {10 public class CustomerLogic11 {12 /**//// <summary>13 /// 插入一个客户信息14 /// </summary>15 /// <param name="custId">客户号</param> 16 /// <param name="custName">客户名称</param> 17 /// <param name="address">客户地址</param> 18 /// <param name="linkman">联系人</param> 19 /// <returns>bool类型,true or false</returns>20 public bool InsertCustomer(int custId,string custName, string address, string linkman)21 {22 if (CustomerRule.IsExistCustomerName(custName))23 return false;24 Customer customer = new Customer();25 CustomerInfo customerInfo = new CustomerInfo(custId,custName,address,linkman);26 return customer.InsertCustomer(customerInfo);27 }28 29 /**//// <summary>30 /// 插入一个客户信息31 /// </summary>32 /// <param name="custName">客户名称</param> 33 /// <param name="address">客户地址</param> 34 /// <param name="linkman">联系人</param> 35 /// <returns>bool类型,true or false</returns>36 public bool InsertCustomer(string custName, string address, string linkman)37 {38 if (CustomerRule.IsExistCustomerName(custName))39 return false;40 Customer customer = new Customer();41 CustomerInfo customerInfo = new CustomerInfo(0, custName, address, linkman);42 return customer.InsertCustomer(customerInfo);43 }44 45 /**//// <summary>46 /// 修改一个客户信息47 /// </summary>48 /// <param name="custId">客户号</param> 49 /// <param name="custName">客户名称</param> 50 /// <param name="address">客户地址</param> 51 /// <param name="linkman">联系人</param> 52 /// <returns>bool类型,true or false</returns>53 public bool UpdateCustomer(int custId,string custName, string address, string linkman)54 {55 Customer customer = new Customer();56 CustomerInfo customerInfo = new CustomerInfo(custId, custName, address, linkman);57 return customer.UpdateCustomerByID(customerInfo);58 }59 60 /**//// <summary>61 /// 按ID删除一个客户信息62 /// </summary>63 /// <param name="custId">客户号</param> 64 /// <returns>bool类型,true or false</returns>65 public bool DeleteCustomerByID(int custId)66 {67 Customer customer = new Customer();68 return customer.DeleteCustomerByID(custId);69 }70 71 72 /**//// <summary>73 /// 查询所有客户信息74 /// 结果为IList75 /// </summary>76 /// <returns>一个客户集合</returns>77 public IList<CustomerInfo> GetCustomersByAll()78 {79 Customer customer = new Customer();80 return customer.GetCusomersByAll();81 }82 }83} 84六、业务规则层
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using com.DataAccess; 5 using com.Model; 6 7 namespace com.BusinessRule 8 { 9 /**//// <summary>10 /// 检查客户信息的合法性11 /// </summary>12 public class CustomerRule13 {14 /**//// <summary>15 /// 检查客户的名称是否已经存在16 /// </summary>17 /// <remarks>18 /// e.g.: 19 /// bool exist =CustomerRule.IsExistCustomerName(custName);20 /// </remarks>21 /// <param name="custName">客户名称</param>22 /// <returns>客户存在与否</returns>23 24 public static bool IsExistCustomerName(string custName)25 {26 Customer cust = new Customer();27 CustomerInfo custInfo = cust.GetCustomerByName(custName);28 if (custInfo == null)29 return false;30 else31 return true;32 }33 }34} 35七、业务外观层
1 using System; 2 using System.Collections.Generic; 3 using System.Text; 4 using System.Web.UI.WebControls; 5 using com.BusinessLogic; 6 using com.Model; 7 8 namespace com.BusinessFacade 9 {10 /**//// <summary>11 /// 为界面中Table处理数据12 /// </summary>13 public class CustomerTable14 {15 public static void SetTableData(Table table)16 {17 IList<CustomerInfo> list = new CustomerLogic().GetCustomersByAll();18 19 AddRowHead(table);20 foreach (CustomerInfo cust in list)21 {22 AddRow(table, cust);23 }24 }25 26 private static void AddRowHead(Table table)27 {28 TableCell cell = new TableCell();29 cell.Text = "Head";30 TableRow row = new TableRow();31 row.Cells.Add(cell);32 table.Rows.Add(row);33 34 }35 private static void AddRow(Table table, CustomerInfo cust)36 {37 TableRow row = new TableRow();38 TableCell cell1 = new TableCell();39 cell1.Text = cust.CustId.ToString();40 TableCell cell2 = new TableCell();41 cell2.Text = cust.CustName;42 TableCell cell3 = new TableCell();43 cell3.Text = cust.Address;44 TableCell cell4 = new TableCell();45 cell4.Text = cust.Linkman;46 row.Cells.Add(cell1);47 row.Cells.Add(cell2);48 row.Cells.Add(cell3);49 row.Cells.Add(cell4);50 51 table.Rows.Add(row);52 }53 }54} 55八、界面层
1 <% @ Page Language = " C# " AutoEventWireup = " true " CodeFile = " Default.aspx.cs " Inherits = " _Default " %> 2 3 <! DOCTYPE html PUBLIC " -//W3C//DTD XHTML 1.0 Transitional//EN " " http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd " > 4 5 < html xmlns = " http://www.w3.org/1999/xhtml " > 6 < head runat = " server " > 7 < title > 无标题页 </ title > 8 </ head > 9 < body > 10 < form id = " form1 " runat = " server " > 11 < div > 12 & nbsp; </ div > 13 < asp:ObjectDataSource ID = " ObjectDataSource1 " runat = " server " 14 InsertMethod = " InsertCustomer " SelectMethod = " GetCustomersByAll " TypeName = " com.BusinessLogic.CustomerLogic " DeleteMethod = " DeleteCustomerByID " UpdateMethod = " UpdateCustomer " > 15 < DeleteParameters > 16 < asp:ControlParameter ControlID = " FormView1 " PropertyName = " SelectedValue " Name = " custId " Type = " Int32 " /> 17 </ DeleteParameters > 18 < UpdateParameters > 19 < asp:Parameter Name = " custId " Type = " Int32 " /> 20 < asp:Parameter Name = " custName " Type = " String " /> 21 < asp:Parameter Name = " address " Type = " String " /> 22 < asp:Parameter Name = " linkman " Type = " String " /> 23 </ UpdateParameters > 24 < InsertParameters > 25 < asp:Parameter Name = " custName " Type = " String " /> 26 < asp:Parameter Name = " address " Type = " String " /> 27 < asp:Parameter Name = " linkman " Type = " String " /> 28 </ InsertParameters > 29 </ asp:ObjectDataSource > 30 < asp:FormView ID = " FormView1 " runat = " server " DataSourceID = " ObjectDataSource1 " AllowPaging = " True " DataKeyNames = " custId " > 31 < EditItemTemplate > 32 CustName: 33 < asp:TextBox ID = " CustNameTextBox " runat = " server " Text = ' <%# Bind("CustName") %> ' ></ asp:TextBox >< br /> 34 Address: 35 < asp:TextBox ID = " AddressTextBox " runat = " server " Text = ' <%# Bind("Address") %> ' ></ asp:TextBox >< br /> 36 Linkman: 37 < asp:TextBox ID = " LinkmanTextBox " runat = " server " Text = ' <%# Bind("Linkman") %> ' ></ asp:TextBox >< br /> 38 CustId: 39 < asp:TextBox ID = " CustIdTextBox " runat = " server " BorderStyle = " None " Enabled = " False " 40 Text = ' <%# Bind("CustId") %> ' ></ asp:TextBox >< br /> 41 < asp:LinkButton ID = " UpdateButton " runat = " server " CausesValidation = " True " CommandName = " Update " 42 Text = " 更新 " ></ asp:LinkButton > 43 < asp:LinkButton ID = " UpdateCancelButton " runat = " server " CausesValidation = " False " CommandName = " Cancel " 44 Text = " 取消 " ></ asp:LinkButton > 45 </ EditItemTemplate > 46 < InsertItemTemplate > 47 CustName: 48 < asp:TextBox ID = " CustNameTextBox " runat = " server " Text = ' <%# Bind("CustName") %> ' ></ asp:TextBox >< br /> 49 Address: 50 < asp:TextBox ID = " AddressTextBox " runat = " server " Text = ' <%# Bind("Address") %> ' ></ asp:TextBox >< br /> 51 Linkman: 52 < asp:TextBox ID = " LinkmanTextBox " runat = " server " Text = ' <%# Bind("Linkman") %> ' ></ asp:TextBox >< br /> 53 CustId: 54 < asp:TextBox ID = " CustIdTextBox " runat = " server " Text = ' 0 ' Enabled = " False " ></ asp:TextBox >< br /> 55 < asp:LinkButton ID = " InsertButton " runat = " server " CausesValidation = " True " CommandName = " Insert " 56 Text = " 插入 " ></ asp:LinkButton > 57 < asp:LinkButton ID = " InsertCancelButton " runat = " server " CausesValidation = " False " CommandName = " Cancel " 58 Text = " 取消 " ></ asp:LinkButton > 59 </ InsertItemTemplate > 60 < ItemTemplate > 61 CustName: 62 < asp:Label ID = " CustNameLabel " runat = " server " Text = ' <%# Bind("CustName") %> ' ></ asp:Label >< br /> 63 Address: 64 < asp:Label ID = " AddressLabel " runat = " server " Text = ' <%# Bind("Address") %> ' ></ asp:Label >< br /> 65 Linkman: 66 < asp:Label ID = " LinkmanLabel " runat = " server " Text = ' <%# Bind("Linkman") %> ' ></ asp:Label >< br /> 67 CustId: 68 < asp:Label ID = " CustIdLabel " runat = " server " Enabled = " False " Text = ' <%# Bind("CustId") %> ' ></ asp:Label >< br /> 69 < asp:LinkButton ID = " EditButton " runat = " server " CausesValidation = " False " CommandName = " Edit " 70 Text = " 编辑 " ></ asp:LinkButton > 71 < asp:LinkButton ID = " DeleteButton " runat = " server " CausesValidation = " False " CommandName = " Delete " 72 Text = " 删除 " ></ asp:LinkButton > 73 < asp:LinkButton ID = " NewButton " runat = " server " CausesValidation = " False " CommandName = " New " 74 Text = " 新建 " ></ asp:LinkButton > 75 </ ItemTemplate > 76 </ asp:FormView > 77 < asp:Table ID = " Table1 " runat = " server " > 78 </ asp:Table > 79 & nbsp; 80 </ form > 81 </ body > 82 </ html > 83
转载于:https://www.cnblogs.com/skyfei/archive/2006/08/24/485206.html
相关资源:DirectX修复工具V4.0增强版