基于asp的企业网站的设计与实现--图书电子交易系统毕业论文(编辑修改稿)内容摘要:
stomerDetails 类 //******************************************************* // CustomerDetails类 // CustomerDetails类操作数据库里 Customers表, // CustomerDetails类里面的成员变量和 Customers表里面的各列相对应。 //******************************************************* public class CustomerDetails { 15 public String CustomerName。 //客户姓名 public String CustomerSex。 //客户性别 public String CustomerPassword。 //客户密码 public String CustomerEmail。 //客户邮箱 public String CustomerAddress。 //客户地址 public String CustomerTel。 //客户电话 } CustomerDetails 类的每一个变量和 Customers 表的每一列相对 应。 但这里要提一下 CustomerID 列定义相应的变量。 因为在数据库设计中通常利用一个自增的 ID 作为表的主键,这个 ID 是 SQL Server 自动维护的。 它只能读取不能写入,因此不需要为该列定义变量。 定义好数据后,下一步需要处理类与数据库的交互。 ⒈ 从数据库中读取数据 ① 以读取客户信息为例,如果要读取一个顾客的信息,就需要传递该顾客的编号( CustomerID) ,可以通过定义一个函数 GetCustomerDetails 来实现,如下: public CustomerDetails GetCustomerDetails(String customerID) {} 这里的 CustomerID 参数是顾客的编号,这里之所以使用 String 类型而不 依据数据库的设计使用 int 类型是因为即使定义了 String 类型 的 CustomerID,它在处理前还是会转换为 int 类型。 ② 下面开始读取 SQL 数据库,首先要设置连接字符串, 代码 44如下: //创建一个连接 SqlConnection 和 SqlCommand 对象 SqlConnection myConnection = new SqlConnection (ConfigurationSettings. AppSettings[“ConnectionString”])。 这个连接是在 中设置的,代码 45 如下: ?xml version= encoding=utf8 ? configuration …… / appSettings add key=”ConnectionString” Value=”server=(local)。 datebase=localhost。 uid=sa。 pwd=’ ’ ”/ /appSettings /configuration 这是一种典型的数据库连接配置的方法,在 中配置,然后通过使用[“ConnectionString”]方法即可读取连接字符串。 ③ 在连接好数据库后,下一步需要执行数据库命令,这里主要通过存储过程执行。 首先设置命令类型为存储过程,然后设置命令执行的存储过程名。 代码 46如下: 16 =。 SqlCommand myCommand = new SqlCommand(“CustomerDetail”,myConnection)。 这两句代码主要为 SqlCommand 的执行作准备,具体的相对位置并不重要。 在myCommand 命令中执行了 CustomerDetail 存储过程。 通过 CustomerDetail 存储过程执行对数据库的操作。 ④ 数据库连接和数据库执行的参数都准备好了,下一步就打开数据库执行命令。 代码 48 如下: //打开数据库,用 ExecuteNonQuery方法执行 SQL命令,然后关闭连接 ()。 ()。 ()。 ⑤ 在 CustomerDetail 存储过程中,已经定义了返回的用户信息。 这时便可以利用 CustomerDetail 类,存储从数据库中返回的数据。 代码 49如下: //建立一个 CustomerDetails对象 //并利用存储过程返回 SQL语句返回的结果,结果保存在 myCustomerDetails里。 CustomerDetails myCustomerDetails = new CustomerDetails()。 = (string)。 = (string)。 = (string)。 = (string)。 = (string)。 = (string)。 ⑥ 最后返回 myCustomerDetail: return myCustomerDetails。 这样就实现了应用程序和数据库之间的数据传递。 ⒉ 更新数据库 当应用程序添加、删除或更改了用户信息,就需要把更改后的数据保存到数据库中。 这里以增加一个新用户为例来解释如何更新数据库。 ① 如果要增加一个新用户,就需要将用户注册的详细信息输入到数据库中,可以定义一个 AddCustomer函数来实现: public String AddCustomer(string CustomerName, string CustomerSex,string CustomerPassword,string CustomerEmail,string CustomerAddress,string CustomerTel) 这里 AddCustomer函数 中有 6个参数分别和数据库中相应的 CustomerName、CustomerSex等相对应。 17 ② 下一步仍然是连接数据库执行存储过程,代码 410如下: // 创建一个连接 SqlConnection和 SqlCommand对象。 连接字符串在 由 ConnectionString设 定。 SqlConnection myConnection = new SqlConnection([ConnectionString])。 SqlCommand myCommand = new SqlCommand(CustomerAdd, myConnection)。 // 命令类型为存储过程 =。 ③ 接下来就是要 传递存储过程所需要的参数。 代码 411如下(这里只有CustomerID为输出参数,其他为输入参数 ): // 为存储过程增加参数。 包括 CustomerID、 CustomerName、 CustomerSex、CustomerPassword //CustomerEmail、 CustomerAddress和 CustomerTel。 //除了 CustomerID外,其他都是输入参数。 SqlParameter parameterCustomerName = new SqlParameter(@CustomerName, , 50)。 = CustomerName。 (parameterCustomerName)。 SqlParameter parameterCustomerSex = new SqlParameter(@CustomerSex, , 2)。 = CustomerSex。 (parameterCustomerSex)。 SqlParameter parameterCustomerPassword = new SqlParameter(@CustomerPassword, , 50)。 = CustomerPassword。 (parameterCustomerPassword)。 SqlParameter parameterCustomerEmail = new SqlParameter(@CustomerEmail, , 50)。 =CustomerEmail。 (parameterCustomerEmail)。 SqlParameter parameterCustomerAddress = new SqlParameter(@CustomerAddress, , 50)。 =CustomerAddress。 (parameterCustomerAddress)。 SqlParameter parameterCustomerTel = new 18 SqlParameter(@CustomerTel, , 50)。 =CustomerTel。 (parameterCustomerTel)。 SqlParameter parameterCustomerID = new SqlParameter(@CustomerID, , 4)。 =。 (parameterCustomerID)。 ④ 下一步开打数据库执行操作,和读取数据库有一点区别,在这里为了便于异常处理,代码中使用了 trycatch语句,这样发生异常后,就摁扣仪捕获异常进行下一步的善后处理。 代码 412如下: try { //打开数据库,用 ExecuteNonQuery方法执行 SQL命令,然后关闭连接 ()。 ()。 ()。 // 利用 customerId存储存储过程返回客户编号 ID,并转换为字符串 int customerId = (int)。 return ()。 } catch { //如果发生错误则返回空值 return。 } 在 try语句中,还使用 int customerId = (int)获取用户的 ID,这样应用程序就可以使用该编号跟踪用户,免得重新从数据库中读 取。 ⑤ 类似的,程序还提供了 Login()方法,判断用户登录时账号是否合法。 代码413如下: //******************************************************* // () 方法 //该方法通过判断用户邮箱和密码和数据库里面的用户信箱和密码是否匹配 // 如果是,则返回该用户的 ID // 否则,返回空值 //该方法调用 CustomerLogin存储过程 //******************************************************* public String Login(string , string password) { // 创建一个连接 SqlConnection和 SqlCommand对象。 连接字符串在 19 由 ConnectionString设定。 SqlConnection myConnection = new SqlConnection([ConnectionString])。 SqlCommand myCommand = new SqlCommand(CustomerLogin, myConnection)。 // 命令类型为存储过程 =。 // 为存储过程增加参数。 SqlParameter parameterEmail = new SqlParameter(@Email, , 50)。 =。 (parameterEmail)。 SqlParameter parameterPassword = new SqlParameter(@Password, , 50)。 = password。 (parameterPassword)。 SqlParameter parameterCustomerID = new SqlParameter(@CustomerID, , 4)。 =。 (parameterCustomerID)。 //打开数据库,用 ExecuteNonQuery方法执行 SQL命令,然后关闭连接 ()。 ()。 ()。 //执行结果返回客户的 ID编号 int customerId = (int)()。 //如果 id为,说明当前用户是未注册用户。 if (customerId == 0) { return null。 } else { //返回客户注册时的 ID 20 return ()。基于asp的企业网站的设计与实现--图书电子交易系统毕业论文(编辑修改稿)
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。
用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。