繁体   English   中英

Npgsql和更新网格视图中的数据

[英]Npgsql and update data in gridview

我正在尝试使用npgsql创建我的新asp.net网站。 我的数据库如下所示:

[oid, countyname, status]

使用npgsql,我已经连接并在gridview中显示了数据。 我使用以下代码完成了此操作:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Npgsql;
using System.Data;
using System.Web.Security;


public partial class Secured_pia : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {         
        string sQuery = "SELECT countyname, status FROM countydb";
        string sConn = "Server=localhost;Port=5432;User Id=user1;Password=pass2;Database=database;";

        DataTable DT = new DataTable();
        NpgsqlConnection Conn = new NpgsqlConnection(sConn);

        Conn.Open();

        DataSet DS = new DataSet("DS1");
        NpgsqlDataAdapter DA = new NpgsqlDataAdapter();

        DA.SelectCommand = new NpgsqlCommand(sQuery, Conn);

        DA.Fill(DS, "DS1");

        GridView1.DataSource = DS;
        GridView1.DataBind();

        Conn.Close();
    }
}

一切正常。 现在,我要编辑该表。 如我所读,我可以使用NpgsqlCommandBuilder进行插入,更新和删除命令。 所以我将代码更改为这样:

DA.SelectCommand = new NpgsqlCommand(sQuery, Conn);
NpgsqlCommandBuilder UpdateCMD = new NpgsqlCommandBuilder(DA);         
DA.Fill(DS, "DS1");

而现在,我不知道该怎么做才能启用编辑功能。 该代码是否足以在gridview中打开编辑? 我的aspx代码如下所示:

<asp:GridView ID="GridView1" runat="server">
    <Columns>
        <asp:CommandField ShowEditButton="true" />
    </Columns>
</asp:GridView>

aspx.cs代码好吗? 我是否必须在gridview中添加任何属性? 感谢您的答复,也很抱歉我的简单问题。 我是新来的。

我只需要在gridview旁边的页面上添加一个按钮即可。 然后实施您的更新按钮单击事件,如下所示:

 public partial class Secured_pia : System.Web.UI.Page
    {
        String sConn = "Your connection string";
        private NpgsqlConnection conn;
        private NpgsqlDataAdapter da;
        private DataSet ds = new DataSet();
        private DataTable dt = new DataTable();
        private NpgsqlCommandBuilder cb;

        public Secured_pia ()
        {
            InitializeComponent();
        }
//your form load code above goes here but you will have to do 
//a global declaration like I did here instead of in the form load event like you have. 

//update button implementation.  
private void btnUpdate_Click(object sender, EventArgs e)
 {
    cb = new NpgsqlCommandBuilder(da);           
    da.Update(dt);
 }

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM