zoukankan      html  css  js  c++  java
  • ASP.net+SQL server2008简单的数据库增删改查 VS2012

    工具:VS2012

    数据库:SQL server

    简单说明:根据老师上课给的代码,进行了简单的改正适用于VS2012环境,包括注册、登录、查询、修改、删除功能,多数参考了网上的代码

    百度云源代码连接testDAO:http://pan.baidu.com/s/1c0CTRgs

    遇见的问题:

    1、字符文本中字符太多: 在html中用的<a href=" ">,在.NET中需要把双引号变成单引号,javascript中的部分双引号也需变成单引号,此处代码详见register.aspx

    2、如何javascript获取表格中的行数:通过varx=document.getElementById("表格id");找到table,x.rows[].cells[]即可找到第几行第几列     此处代码详见register.aspx的javascript代码

    3、如何通过asp获取url中参数的值:http://localhost:30965/testDAO/list.aspx?username=16&psaaword=21 

      String x= Request.QueryString["username"];即可获得username的值16

    文件结构如右图所示 

    数据库名字:easylife  表的名字:table_user  表内容如图:

    界面如下图所示:

    DBHelper.cs代码:在每一个对象的数据库访问类中:1、数据库连接反复出现  2、数据库连接打开和关闭反复出现  3、执行Sql语句的方法相似

    因此,定义DBHelper类,封装常用的方法

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Data.SqlClient; 
     6 
     7 /// <summary>
     8 /// DBHelper 的摘要说明
     9 /// </summary>
    10 namespace testDAO.Library
    11 {
    12     public class DBHelper
    13     {//server=.;Trusted_Connection=SSPI;database=easylife
    14         private String connectionString = "server=.;database=easylife;uid=sa;pwd=root";
    15 
    16         public SqlDataReader ExecuteReader(String sql)
    17         {
    18             SqlConnection connection = new SqlConnection(connectionString);
    19             connection.Open();
    20 
    21             SqlCommand command = new SqlCommand(sql,connection);
    22 
    23             SqlDataReader result = command.ExecuteReader();
    24 
    25             return result;
    26         }
    27 
    28         public bool ExecuteCommand(String sql)
    29         {
    30             bool result = false;
    31 
    32             try
    33             {
    34                 SqlConnection connection = new SqlConnection(connectionString);
    35                 connection.Open();
    36 
    37                 SqlCommand command = new SqlCommand(sql,connection);
    38                 //command.Connection = connection;
    39                 //command.CommandText = sql;
    40                 command.ExecuteNonQuery();
    41  
    42 
    43                 connection.Close();
    44 
    45                 result = true;
    46             }
    47             catch (Exception e)
    48             {
    49                 throw e;
    50             }
    51 
    52             return result;
    53         }
    54 
    55     }
    56 }

    定义User类封装用户信息  User.cs

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    
    /// <summary>
    /// User 的摘要说明
    /// </summary>
    namespace testDAO.Library
    {
        public class User
        {
            private String userName = "";
            private String userLogin = "";
            private String userPwd = "";
    
            public String UserName
            {
                get
                {
                    return userName;
                }
                set
                {
                    userName = value;
                }
            }
    
            public String UserLogin
            {
                get
                {
                    return userLogin;
                }
                set
                {
                    userLogin = value;
                }
            }
    
            public String UserPwd
            {
                get
                {
                    return userPwd;
                }
                set
                {
                    userPwd = value;
                }
            }
        }
    }

     采用UserService实现将用户信息的数据库操作 UserService.cs

      1 using System;
      2 using System.Collections.Generic;
      3 using System.Linq;
      4 using System.Web;
      5 
      6 using System.Data.SqlClient;
      7 /// <summary>
      8 /// UserService 的摘要说明
      9 /// </summary>
     10 namespace testDAO.Library
     11 {
     12     public class UserService
     13     {
     14         public bool AddUser(User user)
     15         {
     16             bool result = false;
     17             String sql = "";
     18 
     19             sql = "insert into table_user (userName,userLogin,userPwd)values(";
     20             sql += "'" + user.UserName + "',";
     21             sql += "'" + user.UserLogin + "',";
     22             sql += "'" + user.UserPwd + "'";
     23             sql += ")";
     24 
     25             DBHelper helper = new DBHelper();
     26             result = helper.ExecuteCommand(sql);
     27             return result;
     28            
     29         }
     30 
     31         public User GetUserByLogin(User user)
     32         {
     33             String sql = "";
     34 
     35             sql = "select * from table_user where userLogin='" + user.UserLogin + "'";
     36 
     37             DBHelper helper = new DBHelper();
     38             SqlDataReader reader = helper.ExecuteReader(sql);
     39             User result = new User();
     40             if (reader.Read())
     41             {
     42 
     43                 result.UserName = reader.GetString(0);
     44                 result.UserLogin = reader.GetString(1);
     45                 result.UserPwd = reader.GetString(2);
     46                
     47             }
     48             else 
     49             {
     50                 return null;
     51             }
     52            
     53             return result;
     54         }
     55 
     56         public List<User> GetAllUsers()
     57         {
     58             String sql = "";
     59 
     60             sql = "select * from table_user";
     61 
     62             DBHelper helper = new DBHelper();
     63             SqlDataReader reader = helper.ExecuteReader(sql);
     64 
     65             if (!reader.HasRows)
     66             {
     67                 return null;
     68             }
     69 
     70             List<User> list = new List<User>();
     71             while (reader.Read())
     72             {
     73                 User item = new User();
     74 
     75                 item.UserName = reader.GetString(0);
     76                 item.UserLogin = reader.GetString(1);
     77                 item.UserPwd = reader.GetString(2);
     78 
     79                 list.Add(item);
     80             }
     81 
     82             return list;
     83         }
     84 
     85         public bool DeleteUsers(String i) 
     86         {
     87             bool result = false;
     88             String sql = "";
     89             sql = "delete  from table_user where userLogin ='"+ i+" '" ;
     90             DBHelper helper = new DBHelper();
     91             result = helper.ExecuteCommand(sql);
     92             return result;
     93         }
     94 
     95         public bool UpdateUsers(User user)
     96         {
     97             bool result = false;
     98             String sql = "";
     99             sql = "update table_user set userName= '" + user.UserName + "',userPwd='" + user.UserPwd + " '  where userlogin='" + user.UserLogin + " '";
    100           //  update  table_user set userName='1',userPwd='1' where userLogin='5'
    101             DBHelper helper = new DBHelper();
    102             result = helper.ExecuteCommand(sql);
    103             return result;
    104         }
    105 
    106     }
    107 }

    业务逻辑层UserManager.cs,是表示层与数据访问层的桥梁 ,用于完成逻辑判断、业务处理、数据传递等操作。

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 
     6 /// <summary>
     7 /// UserManager 的摘要说明
     8 /// </summary>
     9 namespace testDAO.Library
    10 {
    11     public class UserManager
    12     {
    13         public bool AddUser(User user)
    14         {
    15             UserService service = new UserService();
    16             User temp = service.GetUserByLogin(user);
    17 
    18             if (temp != null)
    19             {
    20                 return false;
    21             }
    22 
    23             bool result = service.AddUser(user);
    24             return result;
    25         }
    26 
    27         public bool Login(User user)
    28         {
    29             bool result = false;
    30 
    31             UserService service = new UserService();
    32 
    33             User temp = service.GetUserByLogin(user);
    34             if (temp == null)
    35             {
    36                 result = false;
    37             }
    38             else if (user.UserPwd.Equals(temp.UserPwd))
    39             {
    40                 result = true;
    41             }
    42 
    43             return result;
    44         }
    45 
    46         public List<User> GetAllUsers()
    47         {
    48             UserService service = new UserService();
    49             return service.GetAllUsers();
    50         }
    51         public bool DeleteUser(User user)
    52         {
    53             UserService service = new UserService();
    54         
    55             bool result = service.DeleteUsers(user.UserLogin);
    56             return result;
    57             
    58         }
    59 
    60         public bool UpdateUser(User user)
    61         {
    62             UserService service = new UserService();
    63             bool result = service.UpdateUsers(user);
    64             return result;
    65         }
    66     }
    67 }

    注册界面代码regeister.aspx

    <%@ Page Language="C#" AutoEventWireup="true" CodeFile="register.aspx.cs" Inherits="register" %>
    
    <!DOCTYPE html>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <title></title>
    </head>
    <body>
        <form id="form1" runat="server">
     
        <div>
            <br />
            <asp:Label ID="Label1" runat="server" Text="姓名:"></asp:Label>
            <asp:TextBox ID="nameText" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="Label2" runat="server" Text="帐号:"></asp:Label>
            <asp:TextBox ID="loginText" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Label ID="Label3" runat="server" Text="密码:"></asp:Label>
            <asp:TextBox ID="pwdText" runat="server"></asp:TextBox>
            <br />
            <br />
            <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="注册" />
            <asp:Button ID="Button2" runat="server" onclick="Button2_Click" Text="转向登录" />
        </div>
        </form>
    </body>
    </html>

    注册界面逻辑代码 regeister.aspx.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using System.Data.SqlClient;
     8 using testDAO.Library;
     9 
    10     public partial class register : System.Web.UI.Page
    11     {
    12         protected void Page_Load(object sender, EventArgs e)
    13         {
    14 
    15         }
    16 
    17         public void CreateTable()
    18         {         
    19             String connectionString = "server=.;Trusted_Connection=SSPI;database=easylife";
    20             SqlConnection connection = new SqlConnection(connectionString);
    21             connection.Open();
    22             SqlCommand command = new SqlCommand();
    23             command.Connection = connection;
    24             command.ExecuteNonQuery();
    25             connection.Close();
    26         }
    27         protected void Button1_Click(object sender, EventArgs e)
    28         {
    29             String userName = nameText.Text;
    30             String userLogin = loginText.Text;
    31             String userPwd = pwdText.Text;
    32 
    33             User user = new User();
    34             user.UserName = userName;
    35             user.UserLogin = userLogin;
    36             user.UserPwd = userPwd;
    37 
    38             bool result = false;
    39             UserManager manager = new UserManager();
    40             result = manager.AddUser(user);
    41             Response.Write(result);
    42             if (result)
    43             {
    44                 Response.Write("注册成功");
    45             }
    46             else
    47             {
    48                 Response.Write("注册失败");
    49             }
    50         }
    51         protected void Button2_Click(object sender, EventArgs e)
    52         {
    53             Response.Redirect("login.aspx");
    54         }
    55     }
    regeister.aspx.cs

    登录界面代码 login.aspx

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="login.aspx.cs" Inherits="login" %>
     2 
     3 <!DOCTYPE html>
     4 
     5 <html xmlns="http://www.w3.org/1999/xhtml">
     6 <head runat="server">
     7 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     8     <title></title>
     9 </head>
    10 <body>
    11     <form id="form1" runat="server">
    12     <div>
    13         <br />
    14         <asp:Label ID="Label1" runat="server" Text="帐号:"></asp:Label>
    15         <asp:TextBox ID="loginText" runat="server"></asp:TextBox>
    16         <br />
    17         <br />
    18         <asp:Label ID="Label2" runat="server" Text="密码:"></asp:Label>
    19         <asp:TextBox ID="pwdText" runat="server"></asp:TextBox>
    20         <br />
    21         <br />
    22         <asp:Button ID="loginButton" runat="server" onclick="loginButton_Click" 
    23             Text="登录" />
    24         <asp:Button ID="Button1" runat="server" Text="转向注册" OnClick="Button1_Click" />
    25     </div>
    26     </form>
    27 </body>
    28 </html>
    login.aspx

     

    登录界面逻辑代码 login.aspx.cs

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using testDAO.Library;
     8 
     9 public partial class login : System.Web.UI.Page
    10 {
    11     protected void Page_Load(object sender, EventArgs e)
    12     {
    13 
    14     }
    15     protected void Button1_Click(object sender, EventArgs e) 
    16     {
    17         Response.Redirect("register.aspx");
    18     }
    19 
    20     protected void loginButton_Click(object sender, EventArgs e)
    21     {
    22         User user = new User();    
    23 
    24         user.UserLogin = loginText.Text;
    25         user.UserPwd = pwdText.Text;
    26 
    27         UserManager manager = new UserManager();
    28         bool result = manager.Login(user);
    29         if (result)
    30         {
    31             Response.Redirect("list.aspx");
    32         }
    33         else 
    34         {
    35             Response.Write("登录失败,请输入正确的用户名和密码");
    36         }
    37 
    38 
    39     }
    40 }
    login.aspx.cs

    显示界面代码:

    显示界面相关说明:

    显示界面图片是这样:

    当点击修改时图片如下:

    点击修改时通过table获得table中的行数,从而改变行数中相应的内容,相关代码在javascript中

    参数传值通过URL获取

     1 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="list.aspx.cs" Inherits="list" %>
     2 
     3 <%@ Import Namespace="testDAO.Library" %>
     4 <!DOCTYPE html>
     5 
     6 <html xmlns="http://www.w3.org/1999/xhtml">
     7 <head runat="server">
     8 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
     9     <title></title>
    10 </head>
    11 <body>
    12     <form id="form1" runat="server">
    13     <div>
    14         <table id="test" width="1000" align="center" border = "1" cellpadding="1" cellspacing="1" bordercolordark="#808080" bordercolorlight="#ffffff" >
    15 <tr>
    16   <td align="center">序号</td>
    17   <td align="center">姓名</td>
    18   <td align="center">帐号</td>
    19   <td align="center">密码</td>
    20   <td align="center">修改</td>
    21   <td align="center">删除</td>
    22 </tr>
    23 <%
    24     UserManager manager = new UserManager();
    25     List<User> list = manager.GetAllUsers();
    26 
    27     for (int i = 0; i < list.Count; i++)
    28     {
    29         Response.Write("<tr >");
    30         Response.Write("<td align='center'>" + i + "</td>");
    31         Response.Write("<td align='center'>" + list[i].UserName + "</td>");
    32         Response.Write("<td align='center' id='loginText'>" + list[i].UserLogin + "</td>");
    33         Response.Write("<td align='center'>" + list[i].UserPwd + "</td>");
    34        
    35         Response.Write("<td align='center'><input type='Button' value='修改' onclick='test1("+i+")'  >修改</td>");
    36         Response.Write("<td align='center'><a href='userDelete.aspx?userLogin=" + list[i].UserLogin + "'>删除</a></td>");
    37               
    38         Response.Write("</tr>");
    39     }
    40 %>
    41 </table>
    42         <asp:Button ID="button" runat="server" Text="转向注册" OnClick="Button1_Click" />
    43     
    44     </div>
    45     </form>
    46     <script type="text/javascript">
    47       
    48         function test1(j)
    49         {
    50             var table = document.getElementById("test");
    51             table.rows[j + 1].cells[1].innerHTML = "<input type='text' id='nameText' >";         
    52             table.rows[j + 1].cells[3].innerHTML = "<input type='text' id='pwdText' >";
    53             table.rows[j + 1].cells[4].innerHTML="<input type='button' value='确定' onclick='tiaozhuan("+j+")' >"
    54       
    55         }
    56         function tiaozhuan(i) {
    57             var table = document.getElementById("test");
    58             var userName=document.getElementById("nameText").value;
    59             var userPwd = document.getElementById("pwdText").value;
    60             var userLogin=table.rows[i + 1].cells[2].innerHTML;
    61 
    62             location.href="userUpdate.aspx?userName="+ userName+"&userPwd="+userPwd+"&userLogin="+userLogin+" ";
    63         }
    64         </script>
    65 </body>
    66 </html>
    list.aspx


    list.aspx.cs代码只有通过点击button按钮转向到注册页面,对其它功能并无影响

    通过点击修改进行更新逻辑代码 UserUpdate.aspx.cs代码

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using testDAO.Library;
     8 
     9 public partial class userUpdate : System.Web.UI.Page
    10 {
    11     protected void Page_Load(object sender, EventArgs e)
    12     {
    13 
    14      User user = new User();
    15 
    16      user.UserName= Request.QueryString["userName"];
    17      user.UserLogin = Request.QueryString["userLogin"];
    18      user.UserPwd = Request.QueryString["userPwd"];
    19      UserManager manager = new UserManager();
    20      bool result = manager.UpdateUser(user);
    21      if (result)
    22      {
    23          Response.Redirect("list.aspx");
    24      }
    25      else
    26      {
    27          Response.Write("修改失败");
    28      }
    29         
    30 
    31     }
    32 }

    通过点击删除进行删除逻辑代码 userDelete.aspx.cs代码

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using testDAO.Library;
     8 public partial class userDelete : System.Web.UI.Page
     9 {
    10     protected void Page_Load(object sender, EventArgs e)
    11     {
    12         User user = new User();
    13 
    14         user.UserLogin = Request.QueryString["userLogin"];
    15 
    16 
    17         UserManager manager = new UserManager();
    18         bool result = manager.DeleteUser(user);
    19         if (result)
    20         {
    21             Response.Redirect("list.aspx");
    22         }
    23         else
    24         {
    25             Response.Write("删除失败");
    26         }
    27 
    28     }
    29 }
  • 相关阅读:
    Fegin参数使用总结
    navicat彻底卸载
    VM虚拟机win10无法联网,DNS配置问题
    Navicat15的安装及破解
    Docker 配置国内镜像源拉取prometheus,解决prometheus拉取特别慢的问题
    python中faker(生成随机数据)
    初探移动网站的架构和设计
    利用HTML5的一个重要特性 —— DeviceOrientation来实现手机网站上的摇一摇功能
    响应式Web设计(三):响应式Web设计的方法
    响应式Web设计(四):响应式Web设计的优化
  • 原文地址:https://www.cnblogs.com/a67cm/p/4533985.html
Copyright © 2011-2022 走看看