DS aus DB richtig löschen

hallo leute,

ich versuche grad mich in c# einzuarbeiten u arbeite mir VS2005/ 2008.( hab auch vorher nur ein bisschen mit java beschäftigt. ) da bin ich auf das folgendes problem gestossen:

ich kann nämlich kein DS aus einer DB richtig löschen. hier sit der folgende code den ich bisher geschrieben habe:


//Hier kann mann erstellte Vorlagen aus DB einzeln löschen

private void TemplateDelete()
{
DialogResult flgResult;
flgResult = MessageBox.Show("Möchten Sie wirklich löschen", "Löschen der Vorlage", MessageBoxButtons.OKCancel, MessageBoxIcon.Information);

if (flgResult == DialogResult.OK)
{ // wird aber nicht aus DB gelöscht
userTree.SelectedNode.Remove();
//userTree.SelectedNode.

}
}

das funtz aber nach neustart sind die DS's wieder da. woran könnte es liegen!?
thx im voraus.
gruss daisyking
 
also ich tippe jetzt erstmal darauf, dass du das treeview-control vielleicht nicht an die datenbank gebunden hast, könnte das sein?
du könntest ja einfach mal erklären, wie du deine daten in den usertree reinlädst usw.

ach und benutze bitte die code-tags damit quellcode übersichtlicher dargestellt wird
 
hoffe es ist dies was du meinst.

Info:

das ist ein bereits bestehendes Programm, welches ich bearbeiten muss.

denke mal, das dies der code ist den du meinst:

Code:
/// <summary>
        /// Füllt den linken TreeView mit Benutzern, Gruppen und Vorlagen. Die Knoten werden nach Alphabet sortiert angezeigt.
        /// Es wird nach der Spalte "FullName" des PASUser-Objektes sortiert.
        /// </summary>
        private void fillUsertree()
        {
            Log.InfoEnter("heidiGmbH.PASdol.PasRoles.RolesForm.FillUsertree");
            Cursor.Current = Cursors.WaitCursor;

            try
            {
                // Evtl. vorhandene Einträge löschen

                TreeNode userRoot = this.userTree.Nodes[0];
                userRoot.Nodes.Clear();
                TreeNode groupRoot = this.userTree.Nodes[1];
                groupRoot.Nodes.Clear();

                TreeNode templateRoot = this.userTree.Nodes[2];
                templateRoot.Nodes.Clear();


                // Werte neu aus der DB holen und TreeView damit füllen
                fillNodes(userRoot, ItemType.User);
                fillNodes(groupRoot, ItemType.Group);
                fillNodes(templateRoot, ItemType.Template);
            }
            finally
            {
                Cursor.Current = Cursors.Default;
                Log.InfoLeave("heidiGmbH.PASdol.PasRoles.RolesForm.FillUsertree");
            }
        }

ps. sorry für den neu geöffneten thema.

?(
 
auf fachinformatiker.de wurde dir doch schon die lösung für das problem genannt, du musst diese nur umsetzen ;)

dein problem ist, dass du nur die knoten löscht, aber nicht die einträge in der datenbank. stell dir das so vor:

die datenbank ist ein buch und das treeview ist ein blatt. dich interessieren jetzt ein paar sachen aus dem buch, also schlägst du diese nach und schreibst die aufs blatt. das ist jetzt sozusagen die stelle, wo du die daten im treeview angezeigt bekommst.
gut, irgendein eintrag interessiert dich nicht mehr, also streichst du den auf dem blatt (das ist das löschen so wie du das derzeit machst).
was jetzt natürlich klar ist, ist, dass die gelöschte passage natürlich noch im buch steht und beim nächsten suchen auch wieder gefunden wird.

an der stelle, wo du die knoten löschst musst du auch gleich noch den entsprechenden eintrag in der datenbank löschen. ob dein programm dafür bereits eine funktion hat oder ob du das selber schreiben musst kann man hier nicht erkennen, da musst du also selber nachsehen
 
Zurück
Oben