2010-03-09 6 views
1

J'ai un frmEdit avec datagridview qui est bouned à ceci:Comment éditer datagridview en utilisant SqlCeDataAdapter?

string sqlqry1 = "select p_Name from Items where p_Id=" + p_Id; 
     using (SqlCeDataAdapter a = new SqlCeDataAdapter(sqlqry1, conn)) 
     { 
      DataTable dt1 = new DataTable(); 
      a.Fill(dt1); 
      dataGridView1.DataSource = dt1; 
     } 

Comment modifier les cellules et les enregistrer à la db ?, ce essayé d'utiliser:

using (SqlCeDataAdapter a = new SqlCeDataAdapter(sqlqry1, conn)) 
     { 
      DataTable dt1 = new DataTable(); 
      a.Fill(dt1); 
      dataGridView1.DataSource = dt1; 
      a.Update(dt1); 
     } 

Rien.

Y at-il de toute façon?

Répondre

1

solution trouvée:

 SqlCeDataAdapter da; 
     SqlCeCommandBuilder cmdBuilder; 


     da = new SqlCeDataAdapter("select * from Items", conn); 
     cmdBuilder = new SqlCeCommandBuilder(da); 
     da.Fill(myDatabaseDataSet, "Items"); 
     myDatabaseDataSet.Tables["Items"].Rows[0]["p_Name"] = dataGridView1.Rows[0].Cells["p_Name"].Value.ToString(); 
     da.Update(myDatabaseDataSet, "Items"); 
0
DataTable dT; 
BindingSource bS; 

using (SqlCeConnection yourConnection = new SqlCeConnection("Data Source=|DataDirectory|\\YourDatabase.sdf")) 
{ 
    dT = new DataTable(); 
    bS = new BindingSource();  

    string query = "SELECT * FROM table01"; 
    SqlCeDataAdapter dA = new SqlCeDataAdapter(query, yourConnection); 
    SqlCeCommandBuilder cBuilder = new SqlCeCommandBuilder(dA); 
    dA.Fill(dT); 

    bS.DataSource = dT; 
    dgv01.DataSource = bS; 
} 

Ressusciter cela avec un exemple de travail en raison de ces pages rang sur Google.