C#成长史(增、删、查、改)

来源:互联网 发布:淘宝外围活动怎么样 编辑:程序博客网 时间:2024/06/06 05:15

 无论是C#.NET还是java,最基本的东西都是增、删、查、改。本文主要以C#.NET为主

一开始是有一些静态网页,然后,在转成动态页面之后,要在<body>标签下面加上<from id='Id' runat="server">。

当把所有控件都转成动态以后,下面就可以开始做增、删、查、改的处理了。

第一次把增、删、查、改写到完全不用再去看实例的代码用了一个星期,刚开始时,背诵默写是不错的记忆。

一.增加 

   protected void Add()
    {
        string strUserName = txtUsrName.Text;
        string strPwd = txtPwd.Text;

        if (strUserName.Length > 0 && strPwd.Length > 0)
        {
            string sqlstr = string.Format("insert into Admin(UserName,Password) values('{0}','{1}')", strUserName, strPwd);
            SqlHelper.ExceutNonQuery(sqlstr);
            JSHelper.Alert(Page, "添加成功");
        }
    }

 二.删除

首先,要想动态删除数据库里的链接,要删除的东西放在“Repeater控件”里。

然后,要在【删除】的按钮上加上两个关建词。一个是CommonArgument='<%#Eval("Id")%>'用来绑定Id,另一个CommandName="del"用来标识。

 <asp:LinkButton ID="lbtnDel" OnClientClick="return confirm('确定删除吗?')" CommandArgument='<%#Eval("Id")%>' CommandName="del" runat="server">删除</asp:LinkButton>

其次,把视图切换到【设计】,然后点击【属性】,找到ItemCommand,然后双击,进入到代码界面。

 protected void repAdmin_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if (e.CommandName == "del")
        {
            int id = 0;
            Int32.TryParse(e.CommandArgument.ToString(), out id);
            SqlHelper.ExceutNonQuery(string.Format("delete Admin where id = {0}", id));
           // DataBind(); 调用下面的列表,然后刷新页面。
        }
    }

三 查询,列表显示

 <asp:Repeater ID="repAdmin" runat="server" onitemcommand="repAdmin_ItemCommand">
        <ItemTemplate>
            <tr>
                <td><%#Eval("Id")%></td>
                <td><%#Eval("UserName")%></td>
                <td><%#Eval("Password")%></td>
                <td><%#Eval("CreateTime")%></td>
                <td>
                    <a href="AdminAdd.aspx?id=<%#Eval("Id") %>">修改</a>
                </td>
                <td>
                    <asp:LinkButton ID="lbtn" CommandArgument='<%#Eval("Id")%>' CommandName="del" OnClientClick="return confirm('确定删除吗?')" runat="server">删除</asp:LinkButton>
                </td>
            </tr>
        </ItemTemplate>

</asp:Repeater>

查询,要拿到Repeater的ID,然后在代码里体现出来

 protected void DataBind()
    {
        repAdmin.DataSource = SqlHelper.Adapter("select * from Admin");
        repAdmin.DataBind();
    }

最后,在运行程序里调用

protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            DataBind();
        }
    }

四 修改

给一个链接,跳转到要修改的页面。还要把页面原本的值拿到。所以要先绑定Id。

 <a href="AdminAdd.aspx?id=<%#Eval("Id") %>">修改</a>

然后到你跳转到的页面里,把代码体现出来。下面的代码就是要写到AdminAdd.aspx.cs里的。

    protected void Update()
    {
        string strUserName = txtUsrName.Text;
        string strPwd = txtPwd.Text;

        SqlHelper.ExceutNonQuery(string.Format("update Admin set UserName = '{0}', Password = '{1}' where Id = {2}", strUserName, strPwd, id));
    }

    protected void Query()
    {
        DataSet ds = SqlHelper.Adapter(string.Format("select * from Admin where Id = {0}", id));
        txtUsrName.Text = ds.Tables[0].Rows[0]["UserName"].ToString();
        txtPwd.Text = ds.Tables[0].Rows[0]["Password"].ToString();
    }

然后在程序当中判断,当id不为空的时候,就调用查询的方法。否则就是要新增一个用户。

 protected void Page_Load(object sender, EventArgs e)
    {
       if(!string.IsNullOrEmpty(Request.QueryString["id"]))
       {
            Int32.TryParse(Request.QueryString["id"], out id);
            if(!IsPostBack)
            {
                Query();
            }

       }
    }
    protected void btnSave_Click(object sender, EventArgs e)
    {
        if (id > 0)
        {
            Update();
        }
        else
        {
            Add();
        }
    }

 

 

 

 

 

原创粉丝点击