2016-10-27 1 views
0

ich mit Zugriff auf eine Datenbank in MS Access 2007.Wie Zeilen in einem Datagridview und zugleich löschen die Datenbank in Access Aktualisierung

ich eine Windows erstellt eine Anwendung in C# entwickle habe Datensätze löschen aus der Datenbank, aber ich kann nur Zeilen in der Datagridview löschen (mit Ausnahme der ersten) und die Datenbank wird nicht aktualisiert.

Ich bekomme diese Fehlermeldung, wenn ich versuche, eine Zeile zu löschen:

System.Data.OleDbException (0x80040E10): Es gibt keinen Wert an einem oder mehrere erforderlichen Parameter zur Verfügung gestellt wurde.

Hier ist mein Code:

private void btn_remover_Click(object sender, EventArgs e) 
{ 
    using (OleDbConnection oleConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=Stock_Material.accdb")) 
    { 
     try 
     { 
      oleConn.Open(); 

      if (MessageBox.Show("Tem a certeza que pretende remover este registo(s)", " Confirmação", MessageBoxButtons.YesNo, MessageBoxIcon.Information) == System.Windows.Forms.DialogResult.Yes) 
        foreach (DataGridViewRow row in dataGridView_remover.SelectedRows) 
        { 

         int rowId = Convert.ToInt32(row.Cells[0].Value); 

         if (rowId > 0) 
         { 
          dataGridView_remover.Rows.RemoveAt(row.Index); 
          OleDbCommand delcmd = new OleDbCommand("Delete from product where id_Produto= " + rowId + ""); 
          delcmd.Connection = oleConn; 
          delcmd.ExecuteNonQuery(); 
         } 
        } 
       } 
       catch (Exception ex) 
       { 
        MessageBox.Show(ex.ToString()); 
       } 

       oleConn.Close(); 
      } 
     } 

Wie kann ich diese Probleme zu lösen:

  • Die Datenbank wird nicht aktualisiert, wenn ich einen Datensatz in der Datagridview löschen.
  • Lass mich nicht die erste Zeile in Datagridview

Vielen Dank im Voraus

Antwort

0

Ich denke, Sie eine Verbindung zu der Access-Datenbank in den Projektordner löschen.

Standardmäßig wird die Datenbank bei jedem Erstellen des Projekts in Ihren bin-Ordner kopiert, sodass Ihre Änderungen überschrieben werden.

Um dies zu vermeiden, legen Sie Ihre Datenbank in den Ordner bin (Debug oder Release) und stellen Sie sicher, dass die Datenbank nicht kopiert wird. Sie können dies tun, indem Sie in Visual Studio auf Ihre Datenbankdatei klicken und In Ausgabeverzeichnis kopieren zu Kopieren Sie nicht

Verwandte Themen