2013-10-25 4 views
0

Я пытаюсь создать свой новый сайт asp.net с помощью npgsql. Моя база данных выглядит так:Npgsql и данные обновления в gridview

[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> 

Is aspx.cs code good? Нужно ли добавлять какие-либо свойства в gridview? Спасибо за ответы и извините за мои простые вопросы. Я новичок в этом.

ответ

0

Я бы просто добавил кнопку на странице рядом с сеткой. Затем выполните свое событие с нажатием кнопки обновления следующим образом:

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); 
} 
Смежные вопросы