zoukankan      html  css  js  c++  java
  • Ado.net[增删改查,GET传值]

    1.

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Home.aspx.cs" Inherits="_20160520.Home" %>
    
    <!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>
        <link href="css/gv.css" rel="stylesheet" />
    </head>
    <body>
        <form id="form1" runat="server">
        <div class="gv">
            <table>
                <tr>
                    <td>用户名:</td>
                    <td>
                        <asp:TextBox ID="TxtUserName" runat="server" Width="132px"></asp:TextBox>
                    </td>
                    <td>班级:</td>
                    <td>
                        <asp:DropDownList ID="ddlsclass" runat="server">
                            <asp:ListItem>---请选择---</asp:ListItem>
                            <asp:ListItem>微软一班</asp:ListItem>
                            <asp:ListItem>微软二班</asp:ListItem>
                            <asp:ListItem>微软三班</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                    <td>
                        <asp:Button ID="btnsel" runat="server" Text="查询" OnClick="btnsel_Click" />
                    </td>
                </tr>
            </table>
            <table>
                <tr>
                    <td>用户名:</td>
                    <td>
                        <asp:TextBox ID="TxtUsersName" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>密码:</td>
                    <td>
                        <asp:TextBox ID="TxtPwd" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>姓名:</td>
                    <td>
                        <asp:TextBox ID="Txtloginname" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>QQ:</td>
                    <td>
                        <asp:TextBox ID="Txtqq" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td>班级:</td>
                    <td>
                        <asp:DropDownList ID="ddlclass" runat="server">
                            <asp:ListItem>---请选择---</asp:ListItem>
                            <asp:ListItem>微软一班</asp:ListItem>
                            <asp:ListItem>微软二班</asp:ListItem>
                            <asp:ListItem>微软三班</asp:ListItem>
                        </asp:DropDownList>
                    </td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align: right">
                        <asp:Button ID="BtnAdd" runat="server" Text="添加" OnClick="BtnAdd_Click"/>
                    </td>
                </tr>
            </table>
            <table>
                <tr>
                    <td>ID:</td>
                    <td>
                        <asp:TextBox ID="TxtDuserid" runat="server"></asp:TextBox>
                    </td>
                    <td>
                        <asp:Button ID="BtnDel" runat="server" Text="删除" OnClick="BtnDel_Click" />
                    </td>
                </tr>
            </table>
            <table>
                <tr>
                    <td> ID</td>
                    <td>
                        <asp:TextBox ID="TxtuUserId" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td> 用户名:</td>
                    <td>
                        <asp:TextBox ID="TxtuUserName" runat="server"></asp:TextBox>
                    </td>
                </tr>
                <tr>
                    <td colspan="2" style="text-align: right">
                        <asp:Button ID="BtnUpdate" runat="server" Text="更新" OnClick="Button1_Click" />
                    </td>
                </tr>
            </table>
            <asp:GridView ID="IdGridView" runat="server" AutoGenerateColumns="False">
                <Columns>
                    <asp:BoundField DataField="id" HeaderText="ID" />
                    <asp:BoundField DataField="username" HeaderText="用户名" />
                    <asp:BoundField DataField="PWD" HeaderText="密码" />
                    <asp:BoundField DataField="loginname" HeaderText="姓名" />
                    <asp:BoundField DataField="qq" HeaderText="QQ" />
                    <asp:BoundField DataField="classname" HeaderText="班级" />
                    <asp:TemplateField HeaderText="详情">
                        <ItemTemplate>
                            <a href="UserInfo.aspx?id=<%#Eval("ID") %>" target="_blank">详情</a>
                            <%--<a href='UserInfo.aspx?userid=<%#Eval("UserId") %>' target="_blank">详情</a
                           <%-- <a href="one.aspx?">详情</a>--%>
                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>
           
        </div>
        </form>
    </body>
    </html>

     2.跳转的另一个页面

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Configuration;
    using System.Data.SqlClient;
    using System.Text;
    
    namespace _20160520
    {
        public partial class Home : System.Web.UI.Page
        {
            //假如页面多,每个页面都要写一个连接字符串,所以我们一般放在配置文件中
            //string strstring = "server=.; Database=MyBookShop;Integrated Security=false;Uid=sa;Pwd=123456";
           // string connStr = "Database=Student;Server=.;Integrated Security=false;Uid=sa;Password=123;";     
    
            //通过这个类ConfigurationManager获取web.confiig里面的节点名称来获取连接的字符串
            private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
            //把这个字符串传进去
           //SqlConnection con = new SqlConnection(conStr);
           SqlConnection con = null;//相当于是电话
           SqlCommand cmd = null;//执行sql语句
           SqlDataReader dr = null;//用于储存查询结果
    
           private void openDB()
           {
               con = new SqlConnection(conStr);
               con.Open();//和数据库建立起了连接
               //我们单独把这两句话封装起来直接调用就好
           }
            //页面一运行就执行这里面的内容
            protected void Page_Load(object sender, EventArgs e)
            {
                BindUser();
            }
            public void BindUser()
            {
                try
                {
                    openDB();
                    //得到sql语句
                    //string sql = "select loginid,name,loginpwd,address,ClassName,mail from Users";
                    string sql = Getswhere();
                    //执行sql语句
                    using (cmd = new SqlCommand(sql, con))
                    //对象有了,我们要通过对象去执行sql语句
                    {
                        using (dr = cmd.ExecuteReader())
                        {
                            IdGridView.DataSource = dr;
                            IdGridView.DataBind();
                        }
                        //dr.Dispose();//释放资源
                        //dr.Close();//关闭连接
                        //con.Dispose();
                        //con.Close();
                    }
                }
                catch 
                {
                    Response.Write("网站正在维护中.......!");
                }
            }
            protected void btnsel_Click(object sender, EventArgs e)
            {
                  
            }
            //我们需要得到where后面
            public string Getswhere() 
            {
                StringBuilder sb = new StringBuilder();
                sb.Append("select ID,username,PWD,loginname,qq,classname from Users  where 1=1");
                //获取到它的用户名
                string username = TxtUserName.Text.Trim();
                if (!string.IsNullOrEmpty(username))
                {
                    sb.Append(string.Format("and username='{0}'", username));
                }
                if(ddlsclass.SelectedIndex>0)
                {
                    sb.Append(string.Format("and ClassName='{0}'", ddlsclass.SelectedValue));
                }
                return sb.ToString();
            }
    
            //添加
            protected void BtnAdd_Click(object sender, EventArgs e)
            {
                try
                {
                    //要获取到文本框里面的内容
                    string username = TxtUsersName.Text.Trim();
                    string pwd = TxtPwd.Text.Trim();
                    string loginname = Txtloginname.Text.Trim();
                    string qq = Txtqq.Text.Trim();
                    //ddlclass.SelectedIndex > 0 ? ddlclass.SelectedValue "" : ;判断它是否被选中,如果选中>0,就等于选中的内容,如果没有被选中的话,就为空
                    string classname = ddlclass.SelectedIndex > 0 ?  ddlclass.SelectedValue: "";
                    //写sql语句
                    string sql = string.Format("insert  Users (username,PWD,loginname,qq,classname)  values ('{0}','{1}','{2}','{3}','{4}')", username, pwd, loginname, qq, classname);
                    //sql语句有了之后怎么做添加呢?
                    //第一步和数据库建立起连接
                    openDB();
                    //连接建立起来之后,我们创建一个sqlcommand对象
                    using (cmd = new SqlCommand(sql, con))
                    {
                        //这时候我们怎么通过对象去执行它的插入呢?ExecuteNonQuery执行增删改查语句,返回的是int类型
                        cmd.ExecuteNonQuery();
                    }
                    //直接绑定
                    BindUser();
                }
                catch 
                {
                    Response.Write("网站正在维护中.......!");
                }
            }
    
            //删除
            protected void BtnDel_Click(object sender, EventArgs e)
            {
                int userid = 0;//userid默认等于0
                //有可能输入的不是整数,不是整数的话,输入之后它有可能发生异常
                try
                {
                    //TxtDuserid.Text.Trim()==""?,如果它的内容等于空的话,我们就让它等于0(?0),不为空的话,我们就Convert(将一个数据类型转为另一个基本数据类型)一下
                     userid = TxtDuserid.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtDuserid.Text.Trim());
                }
                catch 
                {
                    userid = 0;
                }
                //id就得到了,判断数据库里面有没有
                string s1 = string.Format("select ID from users where ID={0}", userid);
                //和数据库建立起连接
                openDB();
                using (cmd = new SqlCommand(s1, con))
                {
                    dr = cmd.ExecuteReader();
                        //查询有没有数据
                        if (dr.HasRows)
                        {
                            //如果有,就执行删除语句,得到一个s2
                            string s2 = string.Format("delete Users where ID={0}",userid);
                            dr.Dispose();
                            dr.Close();
                            using(cmd = new SqlCommand(s2, con))
                            {
                                cmd.ExecuteNonQuery();
                            }
                        }
                        else
                        { 
                            //没有就
                            Response.Write("该用户ID不存在!");
                        }
                }
                BindUser();
            }
    
            //更新
            protected void Button1_Click(object sender, EventArgs e)
            {
                int userid = 0;//userid默认等于0
                //有可能输入的不是整数,不是整数的话,输入之后它有可能发生异常
                try
                {
                    //TxtDuserid.Text.Trim()==""?,如果它的内容等于空的话,我们就让它等于0(?0),不为空的话,我们就Convert(将一个数据类型转为另一个基本数据类型)一下
                    userid = TxtuUserId.Text.Trim() == "" ? 0 : Convert.ToInt32(TxtuUserId.Text.Trim());
                }
                catch
                {
                    userid = 0;
                }
                //id就得到了,判断数据库里面有没有
                string s1 = string.Format("select ID from users where ID={0}", userid);
                //和数据库建立起连接
                openDB();
                using (cmd = new SqlCommand(s1, con))
                {
                    dr = cmd.ExecuteReader();
                    //查询有没有数据
                    if (dr.HasRows)
                    {
                        //如果有,就执行删除语句,得到一个s2
                        string s2 = string.Format("update Users set username='{0}' where ID={1}", TxtuUserName.Text.Trim(),userid);
                        dr.Dispose();
                        dr.Close();
                        using (cmd = new SqlCommand(s2, con))
                        {
                            cmd.ExecuteNonQuery();
                        }
                    }
                    else
                    {
                        //没有就
                        Response.Write("该用户ID不存在!");
                    }
                }
                BindUser();
            }
    
    
        }
    }

    3.Get传值:跳转页面.cs页面

           

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Text;
    using System.Configuration;
    using System.Data.SqlClient;
    
    namespace _20160520
    {
        public partial class UserInfo : System.Web.UI.Page
        {
            private string conStr = ConfigurationManager.ConnectionStrings["mySchool"].ToString();
            //把这个字符串传进去
           //SqlConnection con = new SqlConnection(conStr);
           SqlConnection con = null;//相当于是电话
           SqlCommand cmd = null;//执行sql语句
           SqlDataReader dr = null;//用于储存查询结果
           private void openDB()
           {
               con = new SqlConnection(conStr);
               con.Open();//和数据库建立起了连接
               //我们单独把这两句话封装起来直接调用就好
           }
    
            //private int _id = 0;
            //public int id
            //{
            //    get 
            //    {
            //        //return _userId; 
            //        //传过来的id有可能为空,也有可能不是整数
            //        //它也有可能不是整数,我们就写一个异常
            //        try
            //        {
            //            //判断它是否为空?get的作用是属性,属性是判断它的读和写,Request.QueryString["ID"]里的id要与Eval("ID")的一致
            //            //==nul等于空,就让它等于0,不等于空,
            //            _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString());
            //        }
            //        catch 
            //        {
            //            _id = 0;
            //        }
            //        return _id;//这样就得到了传过来的id
            //    }
            //    set { _id = value; }
            //}
           private int _id = 0;
    
           public int Id
           {
               get 
               {
                   try
                   {
                       _id = Request.QueryString["ID"] == null ? 0 : Convert.ToInt32(Request.QueryString["ID"].ToString());
                   }
                   catch
                   {
                       _id = 0;
                   }
                   return _id;
               }
               set { _id = value; }
           }
            protected void Page_Load(object sender, EventArgs e)
            {
                
            }
    
            //这样就得到了传过来的id,拼凑出来的字符串显示在前端,更多使用这个GridView只能显示表格的形式
                public string GetUserInfor()
                {
                    //拼凑字符串需要引用命名空间using System.Text;
                    StringBuilder sb = new StringBuilder();
                    //先得到内容
                    //判断一下id是否>0,>0我们在拼凑
                    if (Id > 0)
                    {
                        sb.Append(@"<div class=""da"">");
                        sb.Append("<table>");
                        openDB();
                        string sql = string.Format("select * from users where ID={0}",Id);
                        using (cmd = new SqlCommand(sql, con))
                        {
                            using (dr = cmd.ExecuteReader())
                            {
                                //dr = cmd.ExecuteReader();
                                //对这里面的内容进行读数据,读数据就要进行拼凑字符串
                                if (dr.Read())
                                {
                                    //数据里面的用户名怎么获取到?
                                    sb.Append(string.Format("<tr><td>用户名:</td><td>{0}</td></tr>", dr["userName"].ToString()));
                                    sb.Append(string.Format("<tr><td>密码:</td><td>{0}</td></tr>", dr["PWD"].ToString()));
                                    sb.Append(string.Format("<tr><td>姓名:</td><td>{0}</td></tr>", dr["loginname"].ToString()));
                                    sb.Append(string.Format("<tr><td>QQ:</td><td>{0}</td></tr>", dr["qq"].ToString()));
                                    sb.Append(string.Format("<tr><td>班级:</td><td>{0}</td></tr>", dr["classname"].ToString()));
                                    sb.Append(string.Format("<tr><td>信息:</td><td>{0}</td></tr>", dr["information"].ToString()));
                                }
                            }
                        }
                            sb.Append("</table>");
    
    
                        sb.Append("</div>");
                    }
                    return sb.ToString();
                }
        }
    }

    4. 跳转页面前端页面

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="UserInfo.aspx.cs" Inherits="_20160520.UserInfo" %>
    
    <!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>
               <%--后台有个字符串怎么显示在前端?前端怎么调用后台页面--%>
            <%=GetUserInfor() %>
        </div>
        </form>
    </body>
    </html>

    效果显示:

       

  • 相关阅读:
    用C++读写EXCEL文件的几种方式比较
    20个值得收藏的网页设计开放课件
    char* 应用, 去除字符串内多余空格, 用算法而非库函数
    东拉西扯:王建硕主义
    Lisp 的本质(The Nature of Lisp)
    web前端:html
    [原译]理解并实现原型模式实现ICloneable接口.理解深浅拷贝
    [原译]理解并实现装饰器模式
    3分钟理解Lambda表达式
    [原译]实现IEnumerable接口&理解yield关键字
  • 原文地址:https://www.cnblogs.com/wangwangwangMax/p/5527547.html
Copyright © 2011-2022 走看看