Probleme mit TableAdapter



  • Hallo Forum

    ich benutze Ado.Net 2.0 und den dortigen TableAdapter, um auf meine Datenbank (SQLServer 2005 Express) zuzugreifen. Nun habe ich mit dem TableAdapter neue Daten in die Datenbank eingefügt mit:

    ImportantMeansListTableAdapter adapter = new ImportantMeansListTableAdapter();
                    try
                    {
                        adapter.Insert(txtMeanRef.Text, txtIDCard.Text, txtSYRef.Text, txtIBRef.Text, txtMeanName.Text, txtOwner.Text, txtSubco.Text, txtLocation.Text, txtProduct.Text, ckcValidated.Checked);
                    }
                    catch (Exception ex)
                    {
                        lbError.Text = ex.Message;
                    }
    

    Das funktioniert auch wunderbar, die Daten sind in der Datenbank vorhanden. Aber wenn ich die Daten jetzt wieder von der Datenbank abrufe, sind die neuen Daten nicht in meiner DataTable zu finden. Auch wenn ich den Abfragegenerator nutze, findet er den neuen Datensatz nicht. Generiere ich allerdings einen neuen TableAdapter und rufe gezielt nur eine Spalte ab, z.B.

    TableAdapterID ID = new TableAdapterID();
    //Der Select-Aufruf sieht so aus: SELECT DISTINCT ID FROM ImportantMeansList
    

    dann seltsamerweise findet er die Daten. Woran liegt das? Wieso findet der Adapter, mit dem ich die Daten einfüge, die Daten nachher nicht mehr wenn ich sie wieder aus der Datenbank abrufen will?

    Vielen Dank für Eure Hilfe!



  • Ich muss mich korrigieren:
    Mit dem TableAdapter, mit dem ich die Daten eingefügt habe, kann ich die neuen Daten auch abrufen. Allerdings nicht mit anderen TableAdaptern. Ich habe z.B. einen TableAdapter, der Daten aus mehreren Tabellen aus meiner Datenbank abfrägt. Dieser erkennt die neu eingefügten Daten des anderen TableAdapters nicht. Gibt es da einen Trick? Muss ich die anderen TableAdapter nach einen Insert von Daten irgenwie updaten oder sowas?



  • Ist das SQL des TableAdapters, der Daten aus mehreren Tabellen zusammensucht, denn korrekt? Kommen die Daten in einem anderen SQL-Client, wenn Du das SQL rauskopierst und dort ausführst?



  • Danke witte, das war der richtige Tipp. Habe zuerst das Statement in einem anderen Client versucht und da kam dasselbe falsche Ergebnis heraus. Habe herausgefunden dass ich eine Tabelle, die mit den anderen verknüpft ist, vergessen habe abzudaten. Danke für den Tipp!


Anmelden zum Antworten