【ASP.NET】GridView连接数据库,显示数据

前端

1、添加控件GridView,添加数据源,接着按步骤选择自己的数据库
添加数据源显示数据有俩种方法:
(1)一种方法是在GridView控件上直接按步骤添加数据源,及设计想要显示的列,这种方法比较直接简单
(2)另一种方法是直接用后端的代码实现显示数据
鉴于后边的功能想要把“编辑”和“删除”列加在后边,而通过代码显示的数据,新添加的列在前边,不美观,所以进行了手动添加数据源这步操作
这里写图片描述

    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" PageSize="10" AllowPaging="True"
            ForeColor="#333333" GridLines="None" OnRowDeleting="GridView1_RowDeleting" OnRowEditing="GridView1_RowEditing"
            OnRowUpdating="GridView1_RowUpdating" 
            OnRowCancelingEdit="GridView1_RowCancelingEdit" onrowdatabound="GridView1_RowDataBound" 
            >
                        <FooterStyle BackColor="#990000" Font-Bold="True" ForeColor="White" />
                        <PagerSettings Visible="False" />
                        <Columns>
                            <asp:BoundField DataField="UserID" HeaderText="用户" ReadOnly="True" 
                                SortExpression="UserID" />
                            <asp:BoundField DataField="Context" HeaderText="感谢留言" 
                                SortExpression="Context" />

                            <asp:CommandField ShowEditButton="True" />
                            <asp:CommandField ShowDeleteButton="True" />

                        </Columns>
                        <RowStyle ForeColor="#000066" />

                        <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Left" />
                        <HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
                    </asp:GridView>

后端

1、连接数据库

private DataSet GetData()
    {
        //连接数据库
        // 数据库连接,用的是相对路径 数据库文件名:Database.mdb存放于 文件夹app_data 中

        OleDbConnection conn = new OleDbConnection();
        conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/app_data/Database.mdb");

        OleDbCommand cmd = new OleDbCommand();

        cmd.Connection = conn;

        string strSql = "select UserID,Context from Letter_Info order by ID desc";

        cmd.CommandText = strSql;
        cmd.CommandType = CommandType.Text;
        DataSet ds = new DataSet();



        try
        {
            conn.Open();
            OleDbDataAdapter adapt = new OleDbDataAdapter(strSql, conn);
            adapt.SelectCommand = cmd;
            adapt.Fill(ds, "Letter_Info");


        }
        catch (Exception ex)
        {
            Response.Write("数据库错误,错误原因:" + ex.Message);
            Response.End();
        }
        finally
        {
            conn.Close();
        }
        return ds;
    }

2、设置GridView的数据源,显示数据

 public void fillGridView()
    {
        DataSet ds = new DataSet();
        ds = GetData();
        GridView1.DataSource = ds;
        GridView1.DataKeyNames = new string[] { "UserID" };
        GridView1.DataBind();
        getRefSet(ds);
    }

3、窗体启动是调用fillGridView方法

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

效果图

这里写图片描述

  • 22
    点赞
  • 131
    收藏
    觉得还不错? 一键收藏
  • 14
    评论
### 回答1: ASP.NET GridView可以通过以下步骤修改数据: 1. 在GridView中选择要修改的行。 2. 单击GridView中的“编辑”按钮,将GridView切换到编辑模式。 3. 在编辑模式下,可以修改GridView中的数据。 4. 修改完成后,单击GridView中的“更新”按钮,将修改后的数据保存到数据库中。 5. 如果需要取消修改,可以单击GridView中的“取消”按钮,将GridView切换回非编辑模式。 以上就是ASP.NET GridView修改数据的基本步骤。需要注意的是,在GridView中修改数据需要对GridView数据源进行相应的配置和绑定。 ### 回答2: ASP.NET GridView 是一种用于展示数据的控件,用户可以通过它来对数据进行操作。GridView 控件默认提供了以下功能:分页、排序、筛选、编辑和删除数据。 在 ASP.NET 中修改 GridView数据可以通过以下步骤实现: 1. 将 GridView 控件的属性 AutoGenerateEditButton 设为 true,可以显示编辑按钮。 2. 绑定数据源,绑定数据源可以通过直接连接数据库、使用 Entity Framework、使用 LINQ to SQL 等方式实现。 3. 在 GridView 控件中的模板列中添加需要修改的字段。 4. 添加了 EditItemTemplate 模板列后,当用户点击 GridView 中的编辑按钮时,数据将被置于编辑模式。 5. 当 GridView 处于编辑模式时,可以修改数据。 用户修改完成后,点击“更新”按钮将数据提交到数据库。 6. 为了保存修改操作,必须实现 GridView 的更新事件,并在代码中写入对应的更新语句。 例如,当用户编辑 GridView 中的数据时,可以在 GridView 的 RowUpdating 事件中实现更新操作,代码类似下面的示例代码: protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string strConn = “数据库连接字符串”; SqlConnection Conn = new SqlConnection(strConn); string strUpdate = “UPDATE 表名 SET 字段1=@字段1,字段2=@字段2 WHERE 条件”; SqlCommand cmd = new SqlCommand(strUpdate,Conn); cmd.Parameters.Add(“@字段1”,SqlDbType.Int,4).Value = Convert.ToInt32(e.NewValues[0].ToString()); cmd.Parameters.Add(“@字段2”,SqlDbType.NVarChar,50).Value = e.NewValues[1].ToString(); try { Conn.Open(); cmd.ExecuteNonQuery(); GridView1.EditIndex = -1; BindData(); } catch(Exception ex) { Throw new Exception(ex.Message); } finally { Conn.Close(); } } 以上就是 ASP.NET GridView 修改数据的基本实现方法。需要注意的是,修改数据时要根据实际情况匹配数据类型和数据库类型,同时还需要注意验证数据的合法性。 ### 回答3: ASP.NETGridView控件是一种常用的数据展示和编辑控件,常用于数据库管理系统和网站后台管理等场合。当我们需要对GridView中的数据进行修改时,可以通过以下步骤进行实现: 1. 将GridView的属性AutoGenerateEditButton设置为True,这将在每行数据的最后一列生成一个编辑按钮; 2. 在GridView的OnRowEditing事件中添加代码,该代码将会使GridView进入编辑状态,并将编辑按钮变为更新和取消按钮; 3. 在GridView的OnRowUpdating事件中添加代码,该代码将会更新GridView中被编辑的行的数据; 4. 在GridView的OnRowCancelingEdit事件中添加代码,该代码将会取消GridView的编辑状态并使更新和取消按钮变为编辑按钮。 以下是一个简单的ASP.NET GridView数据修改的示例代码: 1. 在aspx页面中定义GridView控件: <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" AutoGenerateEditButton="True" OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowCancelingEdit="GridView1_RowCancelingEdit"> <Columns> <asp:BoundField DataField="ProductID" HeaderText="ProductID" ReadOnly="True" /> <asp:BoundField DataField="ProductName" HeaderText="ProductName" /> <asp:BoundField DataField="UnitPrice" HeaderText="UnitPrice" /> <asp:BoundField DataField="UnitsInStock" HeaderText="UnitsInStock" /> </Columns> </asp:GridView> 2. 在code-behind文件中添加以下事件处理代码: protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) { GridView1.EditIndex = e.NewEditIndex; BindGridViewData(); } protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) { string productID = GridView1.DataKeys[e.RowIndex].Value.ToString(); TextBox txtProductName = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtProductName"); TextBox txtUnitPrice = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtUnitPrice"); TextBox txtUnitsInStock = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtUnitsInStock"); // 将修改后的数据更新到数据库中 string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(connectionString); conn.Open(); string sql = "UPDATE Products SET ProductName='" + txtProductName.Text + "',UnitPrice=" + txtUnitPrice.Text + ",UnitsInStock=" + txtUnitsInStock.Text + " WHERE ProductID=" + productID; SqlCommand cmd = new SqlCommand(sql, conn); cmd.ExecuteNonQuery(); conn.Close(); GridView1.EditIndex = -1; BindGridViewData(); } protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) { GridView1.EditIndex = -1; BindGridViewData(); } 3. 添加一个绑定数据方法BindGridViewData(),用于将GridView绑定到数据源: private void BindGridViewData() { // 获取数据源并绑定到GridView string connectionString = ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString; SqlConnection conn = new SqlConnection(connectionString); conn.Open(); string sql = "SELECT * FROM Products"; SqlDataAdapter adapter = new SqlDataAdapter(sql, conn); DataSet ds = new DataSet(); adapter.Fill(ds); conn.Close(); GridView1.DataSource = ds.Tables[0]; GridView1.DataBind(); } 以上是对ASP.NET GridView数据修改的一个简单实现方式,实际开发中需要根据具体需求进行调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值