DataRow löschen

torkel

Mitglied
Hallo


Kann mir jemand sagen, wie ich diese eingelesene DataRow löschen kann?

Code:
DataRow[] dr = textilDatenbankDataSet.Tables[ "Artikelstamm"].Select("id = '" + textBox1.Text + "'"); 
			? 
this.artikelstammTableAdapter. Update(this.textilDatenbankDat aSet); 
MessageBox.Show("Artikel gelöscht!");

ich habe schon

Code:
dr[0].Delete();


versucht, geht aber nicht.


was mache ich da falsch oder ist es gar nicht möglich, die DataRow so
zu löschen?


torkel
 
Code:
textilDatenbankDataSet.Tables[ "Artikelstamm"].AcceptChanges();
Das DataSet dann via Update() zu speichern wäre auch noch sinnvoll.
 
hi

ich habe es jetzt so gelöst:

Code:
 DataRow[] dr = textilDatenbankDataSet.Tables[ "Artikelstamm"].Select("id  = '" + textBox1.Text + "'");
 dr[0].Delete();
 textilDatenbankDataSet.Tables["Artikelstamm"].AcceptChanges();
 this.artikelstammTableAdapter.Update(this.textilDatenbankDataSet);
 MessageBox.Show("Artikel gelöscht!");

der wert wird so wie es scheint aus dem dataset entfernt. Wenn ich nämlich versuche, diesen Artikel wieder anzuzeigen, wird er nicht mehr gefunden.

Aber der Artikel wird mir nicht aus der AccessDatenbank entfernt, diese müsste ja mit dem update funktionieren wie es oben im code steht, oder nicht?

oder wie kann ich denn das ganze dataset updaten? so bringt er mir ein fehler:

Code:
 this.textilDatenbankDataSet.Update();

grüsse

Torkel
 
Hi@all.
Habe auch ein leichtes Problemm mit meinem DataSet bzw. DataRow.
Die Daten in der DataTable werden zwar gelöscht, werden aber nicht aus der DB entfernt.
Ich versuche hier einen Datensatz zu löschen, der grade in einer ComboBox ausgewählt ist:

switch(result) {
case DialogResult.Yes:
foreach( DataRow dr in this.mainForm.MyDataSet.TableAnrede.Rows ) {
if( Convert.ToString( dr["anrede"] ) ==
Convert.ToString( this.CmbAnrede.SelectedItem ) ) {

this.mainForm.MyDataSet.TableAnrede.AcceptChanges();
dr.Delete();

this.mainForm.MyDataSet.TableAnrede.AcceptChanges();
this.mainForm.MyDataSet.Update();
break;
}
}
break;
case DialogResult.No:
break;
}

Hier ist die DataSet.Update()

public void Update() {

this.adapterAnrede.Update( this, "t_anrede" );
this.adapterGruppe.Update( this, "t_gruppe" );
}

Vielen dank im Vorraus.
 
sollte noch wen die lösung interessieren:

man muss die data row mit delete() löschen und erst nach dem update() acceptChanges() machen, sonst wird das löschen schon vorher aktzeptiert und die datenbank bekommt davon nichts mit beim update
 
Zurück