最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

asp.net中g(shù)ridview的查詢、分頁、編輯更新、刪除的實例代碼

 更新時間:2013年03月19日 17:09:19   作者:  
asp.net中g(shù)ridview的查詢、分頁、編輯更新、刪除的實例代碼,需要的朋友可以參考一下

1.A,運行效果圖

1.B,源代碼
/App_Data/sql-basic.sql

復(fù)制代碼 代碼如下:

use master
go
if exists(select * from sysdatabases where name='db1')
begin
    drop database db1
end
go
create database db1
go
use db1
go
-- ================================
-- ylb:1,類別表
-- ================================
create table category
(
    categoryid int identity(1,1) primary key,    --編號【PK】
    categoryname varchar(20) not null            --名稱
)

 

insert into category(categoryname) values('飲料')
insert into category(categoryname) values('主食')
insert into category(categoryname) values('副食')
insert into category(categoryname) values('蔬菜')

-- ================================
-- ylb:2,產(chǎn)品表
-- ================================
create table product
(
    productid int identity(1001,1) primary key,    --編號【PK】
    productname varchar(20),        --名稱
    unitprice numeric(7,2),            --單價
    special varchar(10) check(special in('特價','非特價')),    --是否特價【C】
    categoryid int foreign key references category(categoryid)    --類別編號【FK】
)

insert into product(productname,unitprice,special,categoryid) values('可樂1',12.6,'特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂2',12.6,'非特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂3',12.6,'非特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂4',12.6,'非特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂5',12.6,'特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂6',12.6,'特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂7',12.6,'特價',1)
insert into product(productname,unitprice,special,categoryid) values('可樂8',12.6,'特價',1)
insert into product(productname,unitprice,special,categoryid) values('饅頭1',12.6,'特價',2)
insert into product(productname,unitprice,special,categoryid) values('豆腐1',12.6,'特價',3)
insert into product(productname,unitprice,special,categoryid) values('冬瓜1',12.6,'特價',4)

select * from category
select productid,productname,unitprice,special,categoryid from product

,2
/App_Code/
/App_Code/DBConnection.cs

復(fù)制代碼 代碼如下:

using System.Data.SqlClient;
/// <summary>
///DBConnection 的摘要說明
///數(shù)據(jù)連接類
/// </summary>
public class DBConnection
{
    SqlConnection con = null;

    public DBConnection()
    {
        //創(chuàng)建連接對象
        con = new SqlConnection("Server=.;Database=db1;Uid=sa;pwd=sa");
    }

    /// <summary>
    /// 數(shù)據(jù)連接對象
    /// </summary>
    public SqlConnection Con
    {
        get { return con; }
        set { con = value; }
    }
}

/App_Code/CategoryInfo.cs
/App_Code/CategoryOper.cs
/App_Code/ProductInfo.cs

復(fù)制代碼 代碼如下:

using System;

/// <summary>
///ProductInfo 的摘要說明
///產(chǎn)品實體類
/// </summary>
public class ProductInfo
{
    //1,Attributes
    int productId;
    string productName;
    decimal unitprice;
    string special;
    int categoryId;

    public ProductInfo()
    {
        //
        //TODO: 在此處添加構(gòu)造函數(shù)邏輯
        //
    }
    //3,

    /// <summary>
    /// 產(chǎn)品編號【PK】
    /// </summary>
    public int ProductId
    {
        get { return productId; }
        set { productId = value; }
    }
    /// <summary>
    /// 產(chǎn)品名稱
    /// </summary>
    public string ProductName
    {
        get { return productName; }
        set { productName = value; }
    }
    /// <summary>
    /// 單位價格
    /// </summary>
    public decimal Unitprice
    {
        get { return unitprice; }
        set { unitprice = value; }
    }
    /// <summary>
    /// 是否為特價【C】(特價、非特價)
    /// </summary>
    public string Special
    {
        get { return special; }
        set { special = value; }
    }
    /// <summary>
    /// 類編編號【FK】
    /// </summary>
    public int CategoryId
    {
        get { return categoryId; }
        set { categoryId = value; }
    }
}

/App_Code/ProductOper.cs

復(fù)制代碼 代碼如下:

using System;
using System.Collections.Generic;

using System.Data.SqlClient;
/// <summary>
///ProductOper 的摘要說明
/// </summary>
public class ProductOper
{
    /// <summary>
    /// 1,GetAll
    /// </summary>
    /// <returns></returns>
    public static IList<ProductInfo> GetAll()
    {
        IList<ProductInfo> dals = new List<ProductInfo>();
        string sql = "select productId,productName,unitprice,special,categoryId from Product order by productId desc";

        //1,創(chuàng)建連接對象
        SqlConnection con = new DBConnection().Con;
        //2,創(chuàng)建命令對象
        SqlCommand cmd = con.CreateCommand();

        //3,把sql語句付給命令對象
        cmd.CommandText = sql;

        //4,打開數(shù)據(jù)連接
        con.Open();
        try
        {
            using (SqlDataReader sdr = cmd.ExecuteReader())
            {
                while (sdr.Read())
                {
                    ProductInfo dal = new ProductInfo()
                    {
                        ProductId = sdr.GetInt32(0),
                        ProductName = sdr.GetString(1),
                        Unitprice = sdr.GetDecimal(2),
                        Special = sdr.GetString(3),
                        CategoryId = sdr.GetInt32(4)
                    };

                    dals.Add(dal);
                }
            }
        }
        finally
        {
            //,關(guān)閉數(shù)據(jù)連接(釋放資源)
            con.Close();
        }
        return dals;
    }

    public static void Add(ProductInfo dal)
    {
        string sql = "insert into Product(productName,unitprice,special,categoryId) values(@productName,@unitprice,@special,@categoryId)";

        SqlConnection con = new DBConnection().Con;
        SqlCommand cmd = con.CreateCommand();

        cmd.CommandText = sql;
        //配參數(shù)
        cmd.Parameters.Add(new SqlParameter("@productName",dal.ProductName));
        cmd.Parameters.Add(new SqlParameter("@unitprice",dal.Unitprice));
        cmd.Parameters.Add(new SqlParameter("@special", dal.Special));
        cmd.Parameters.Add(new SqlParameter("@categoryId", dal.CategoryId));

        con.Open();
        try
        {
            cmd.ExecuteNonQuery();
        }
        finally {
            con.Close();
        }

    }
    public static void Update(ProductInfo dal)
    {
        string sql = "update Product set productName=@productName,unitprice=@unitprice,special=@special,categoryId=@categoryId where productId=@productId";

        SqlConnection con = new DBConnection().Con;
        SqlCommand cmd = con.CreateCommand();

        cmd.CommandText = sql;
        //配參數(shù)
        cmd.Parameters.Add(new SqlParameter("@productName", dal.ProductName));
        cmd.Parameters.Add(new SqlParameter("@unitprice", dal.Unitprice));
        cmd.Parameters.Add(new SqlParameter("@special", dal.Special));
        cmd.Parameters.Add(new SqlParameter("@categoryId", dal.CategoryId));
        cmd.Parameters.Add(new SqlParameter("@productId", dal.ProductId));
        con.Open();
        try
        {
            cmd.ExecuteNonQuery();
        }
        finally
        {
            con.Close();
        }

    }
    public static void Delete(int productId)
    {
        string sql = "delete Product where productId=@productId";

        SqlConnection con = new DBConnection().Con;
        SqlCommand cmd = con.CreateCommand();

        cmd.CommandText = sql;
        //配參數(shù)
        cmd.Parameters.Add(new SqlParameter("@productId", productId));
        con.Open();
        try
        {
            cmd.ExecuteNonQuery();
        }
        finally
        {
            con.Close();
        }

    }
    public ProductOper()
    {
        //
        //TODO: 在此處添加構(gòu)造函數(shù)邏輯
        //
    }
}

,8
/Default.aspx

復(fù)制代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>管理頁面</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:HyperLink ID="hlCreate" runat="server" Text="添加" NavigateUrl="Create.aspx"></asp:HyperLink>
    <asp:GridView ID="gvwProduct" runat="server" AutoGenerateColumns="False"
            onrowcancelingedit="gvwProduct_RowCancelingEdit"
            onrowdatabound="gvwProduct_RowDataBound" onrowdeleting="gvwProduct_RowDeleting"
            onrowediting="gvwProduct_RowEditing"
            onrowupdating="gvwProduct_RowUpdating" Width="700px" AllowPaging="True"
            onpageindexchanging="gvwProduct_PageIndexChanging" PageSize="5">
        <Columns>
            <asp:TemplateField HeaderText="產(chǎn)品編號">
                <EditItemTemplate>
                    <asp:Label ID="Label6" runat="server" Text='<%# Bind("productId") %>'></asp:Label>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%# Bind("productId") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="產(chǎn)品名稱">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("productName") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label2" runat="server" Text='<%# Bind("productName") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="單價">
                <EditItemTemplate>
                    <asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("unitprice") %>'></asp:TextBox>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label3" runat="server" Text='<%# Bind("unitprice") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="是否特價">
                <EditItemTemplate>
                    <asp:RadioButtonList ID="RadioButtonList1" runat="server"
                        RepeatDirection="Horizontal" RepeatLayout="Flow">
                        <asp:ListItem>特價</asp:ListItem>
                        <asp:ListItem>非特價</asp:ListItem>
                    </asp:RadioButtonList>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label4" runat="server" Text='<%# Bind("special") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="類別編號">
                <EditItemTemplate>
                    <asp:DropDownList ID="DropDownList1" runat="server">
                    </asp:DropDownList>
                </EditItemTemplate>
                <ItemTemplate>
                    <asp:Label ID="Label5" runat="server" Text='<%# Bind("categoryId") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:CommandField ShowEditButton="True" />
            <asp:CommandField ShowDeleteButton="True" />
        </Columns>
        </asp:GridView>
    </div>
    </form>
</body>
</html>

/Default.aspx.cs

復(fù)制代碼 代碼如下:

using System;
using System.Web.UI.WebControls;

public partial class _Default : System.Web.UI.Page
{
    /// <summary>
    /// 1,展示產(chǎn)品
    /// </summary>
    private void Bind()
    {
        gvwProduct.DataSource = ProductOper.GetAll();
        gvwProduct.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bind();
        }
    }
    protected void gvwProduct_RowDeleting(object sender, GridViewDeleteEventArgs e)
    {
        //刪除一行數(shù)據(jù)
        Label productIdLabel = (Label)gvwProduct.Rows[e.RowIndex].FindControl("Label1");
        int productId = Convert.ToInt32(productIdLabel.Text);

        //調(diào)用刪除方法
        ProductOper.Delete(productId);

        //更新數(shù)據(jù)
        Bind();
    }
    protected void gvwProduct_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            //給單元格,添加單擊事件
            e.Row.Cells[6].Attributes.Add("onclick", "return confirm('您確定要刪除該行數(shù)據(jù)!')");
        }
    }
    protected void gvwProduct_RowEditing(object sender, GridViewEditEventArgs e)
    {

        Label specialLabel = (Label)gvwProduct.Rows[e.NewEditIndex].FindControl("Label4");
        Label categoryIdLabel = (Label)gvwProduct.Rows[e.NewEditIndex].FindControl("Label5");

        //進(jìn)入編輯模式
        gvwProduct.EditIndex = e.NewEditIndex;  //(普通模式<-)分水嶺(->編輯模式)

        //更新數(shù)據(jù)
        Bind();

        RadioButtonList specialRadioButtonList = (RadioButtonList)gvwProduct.Rows[e.NewEditIndex].FindControl("RadioButtonList1");
        DropDownList categoryIdDropDownList = (DropDownList)gvwProduct.Rows[e.NewEditIndex].FindControl("DropDownList1");
        specialRadioButtonList.SelectedValue = specialLabel.Text;
        categoryIdDropDownList.DataSource = CategoryOper.GetAll();
        categoryIdDropDownList.DataTextField = "categoryName";
        categoryIdDropDownList.DataValueField = "categoryId";
        categoryIdDropDownList.DataBind();
        categoryIdDropDownList.SelectedValue = categoryIdLabel.Text;

      
    }
    protected void gvwProduct_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
    {
        //取消編輯模式
        gvwProduct.EditIndex = -1;

        //更新數(shù)據(jù)
        Bind();
    }
    protected void gvwProduct_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        //更新數(shù)據(jù)

        //1,準(zhǔn)備條件
        Label productIdLabel = (Label)gvwProduct.Rows[e.RowIndex].FindControl("Label6");
        TextBox productNameTextBox = (TextBox)gvwProduct.Rows[e.RowIndex].FindControl("TextBox2");
        TextBox unitpriceTextBox = (TextBox)gvwProduct.Rows[e.RowIndex].FindControl("TextBox3");
        RadioButtonList specialRadioButtonList = (RadioButtonList)gvwProduct.Rows[e.RowIndex].FindControl("RadioButtonList1");
        DropDownList categoryIdDropDownList = (DropDownList)gvwProduct.Rows[e.RowIndex].FindControl("DropDownList1");

        ProductInfo dal = new ProductInfo() {
         ProductId=Convert.ToInt32(productIdLabel.Text),
          ProductName=productNameTextBox.Text,
           Unitprice=Convert.ToDecimal(unitpriceTextBox.Text),
            Special=specialRadioButtonList.SelectedValue,
             CategoryId=Convert.ToInt32(categoryIdDropDownList.SelectedValue)
        };
        //2,調(diào)用方法
        ProductOper.Update(dal);

        //取消編輯模式
        gvwProduct.EditIndex = -1;

        //更新數(shù)據(jù)
        Bind();

    }
    protected void gvwProduct_PageIndexChanging(object sender, GridViewPageEventArgs e)
    {
        gvwProduct.PageIndex = e.NewPageIndex;

        //更新數(shù)據(jù)
        Bind();
    }
}

/Create.aspx

復(fù)制代碼 代碼如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Create.aspx.cs" Inherits="Create" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>添加頁面</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <asp:HyperLink ID="hlDefault" runat="server" Text="產(chǎn)品列表" NavigateUrl="~/Default.aspx"></asp:HyperLink>
    <fieldset>
    <legend>添加商品</legend>
    <table width="500px">
     <tr>
    <td>產(chǎn)品名稱</td>
    <td>
        <asp:TextBox ID="txtProductName" runat="server"></asp:TextBox>
         </td>
    <td></td>
    </tr>
     <tr>
    <td>單價</td>
    <td>
        <asp:TextBox ID="txtUnitprice" runat="server"></asp:TextBox>
         </td>
    <td></td>
    </tr>
     <tr>
    <td>是否特價</td>
    <td>
        <asp:RadioButtonList ID="rblSpecial" runat="server"
            RepeatDirection="Horizontal" RepeatLayout="Flow">
            <asp:ListItem>特價</asp:ListItem>
            <asp:ListItem Selected="True">非特價</asp:ListItem>
        </asp:RadioButtonList>
         </td>
    <td></td>
    </tr>
     <tr>
    <td>類別</td>
    <td>
        <asp:DropDownList ID="dropCategory" runat="server">
        </asp:DropDownList>
         </td>
    <td></td>
    </tr>
     <tr>
    <td></td>
    <td>
        <asp:Button ID="btnAdd" runat="server" Text="添加" onclick="btnAdd_Click" />
         </td>
    <td></td>
    </tr>
    </table>
    </fieldset>
    </div>
    </form>
</body>
</html>

/Create.aspx.cs

復(fù)制代碼 代碼如下:

using System;

public partial class Create : System.Web.UI.Page
{
    /// <summary>
    /// 1,類別列表
    /// </summary>
    private void Bind()
    {
        dropCategory.DataSource = CategoryOper.GetAll();
        dropCategory.DataTextField = "categoryName";
        dropCategory.DataValueField = "categoryId";
        dropCategory.DataBind();
    }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Bind();
        }
    }
    protected void btnAdd_Click(object sender, EventArgs e)
    {
        ProductInfo dal = new ProductInfo() {
         ProductName=txtProductName.Text.Trim(),
          Unitprice=Convert.ToDecimal(txtUnitprice.Text.Trim()),
           Special=rblSpecial.SelectedValue,
            CategoryId=Convert.ToInt32(dropCategory.SelectedValue)
        };

        //調(diào)用添加方法
        ProductOper.Add(dal);

        Response.Redirect("~/Default.aspx");
    }
}


作者:ylbtech
出處:http://ylbtech.cnblogs.com/

相關(guān)文章

最新評論

苍溪县| 沙湾县| 青冈县| 红原县| 辽源市| 建始县| 原平市| 巴彦县| 双鸭山市| 姜堰市| 邓州市| 遵义县| 白水县| 溧水县| 青冈县| 松原市| 新疆| 普兰店市| 通城县| 南郑县| 得荣县| 招远市| 阜宁县| 麦盖提县| 攀枝花市| 平顶山市| 阿鲁科尔沁旗| 苍南县| 达日县| 济宁市| 伊宁县| 兴海县| 星子县| 方山县| 九龙县| 海门市| 临沧市| 木兰县| 隆回县| 绥滨县| 瓮安县|