none
DataTable Adapter Error Constraint RRS feed

  • Frage

  • Hi,

    Ich habe ein DataSet mit einer GetData(), Fill() Method, welche ein Datum nimmt. Aber bei dem Datum 1.Juni.2013, bekomme ich immer die folgende Fehlermeldung:

    Failed to enable constraints. One or  more rows contain values violating  non-null, unique, or foreign-key  constraints.

    Im DataSet kann ich die Prozedure mit diesem Datum ohne weiteres ausführen, Sie funktioniert, jedoch im Code bekomme ich immer die Fehlermeldung

    Bei allen anderen Datumsangaben funktioniert es sowohl im dataset sowie im Code, dabei sei aber gesagt, dass bei den anderen das Return set gleich null ist. aber das sollte doch egal sein?

    Vl. weiß einer wieso das so ist

    Vielen Dank im Voraus!

    lg

    Alex

    • Bearbeitet Zanz19 Montag, 26. August 2013 10:52
    Montag, 26. August 2013 10:52

Antworten

  • OK hat sich erledigt, Hab einfach den ganzen Adapter neu angelegt, anscheined gibt es Probleme wenn man beim DataSet oder Datatable zuviel ändert, dann muss man ihn einfach neu anlegen.
    • Als Antwort markiert Zanz19 Mittwoch, 28. August 2013 14:02
    Mittwoch, 28. August 2013 14:02

Alle Antworten

  • Hallo Alex,

    wenn ich ehrlich sein soll, habe ich kein Wort verstanden.

    Was rufst Du wo auf welchem Weg mit welchem SQL Statement ab?

    Wo wird das Datum verwendet, welches bei Ausführung des Statements zum Fehler führt?

    Von wo kommt die Fehlermeldung überhaupt?

    Was ist bei dir der Unterschied zwischen "dataset" und "Code"???


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 26. August 2013 10:57
    Moderator
  • Hi,

    mit DataSet mein ich das File.xsd, wo ich ja die Tables habe und deren Methoden e.g. GetData(@Datum), mit rechtsklick kann ich dann ajuf Preview gehen, welches mir einen Dialog zum testen öffnet, dort kann ich Datumsangaben machen und die Datan dann zurückgeben lassen, hier funktioniert es mit dem Datum 1.Juni.2013.

    Im Code meine ich:

    Data.checkIfValuesExistDataTable dtExisting =null;
                    
                    DataTableAdapters.checkIfValuesExistTableAdapter taExisting = new DataTableAdapters.checkIfValuesExistTableAdapter();
                   
                    dtExisting = taExisting.GetData(DateFunctions.GetFirstOfMonth(analysisDate));

    Dieser Code funktioniert, da er bei allen Datumsangaben, außer Juni, den richtigen Wert zurückgibt, welcher null ist, vl liegt es daran aber wieso funktioniert es dann bei der Preview?

    Montag, 26. August 2013 11:05
  • Hallo Alex,

    ich hab immer noch keinen Schimmer, was Du da treibst.

    Wenn ich die bruchstückhaften Informationen richtig interpretiere, hast Du dir ein typisiertes DataSet erstellen lassen? Dort hast Du dann verschiedene TableAdapter erstellt/erstellen lassen? Und einer davon schlägt beim Aufruf per Code fehl?

    Falls das alles so stimmt: Was hat das mit dem Datum zu tun? Wenn in der Datenbank Daten vorhanden sind, die in das DataSet nicht rein dürfen, da das DataSet Beziehungen enthält, geht das eben nicht. In dem Fall musst Du dafür sorgen, dass die Daten korrekt sind oder die Beziehung entfernen/ändern.

    Möglichkeiten, den Fehler einzugrenzen, findest Du bspw. hier:

      http://stackoverflow.com/questions/7026566/failed-to-enable-constraints-one-or-more-rows-contain-values-violating-non-null

    oder auch hier:

      Suche nach der Fehlermeldung

    Lies dich da mal bitte ein und probiere, deine Daten bzw. die Abfrage entsprechend zu korrigieren.


    Gruß, Stefan
    Microsoft MVP - Visual Developer ASP/ASP.NET
    http://www.asp-solutions.de/ - Consulting, Development
    http://www.aspnetzone.de/ - ASP.NET Zone, die ASP.NET Community

    Montag, 26. August 2013 12:54
    Moderator
  • Hi,

    Ich hab dir mal ein Bild von meinem DataSet mit meiner Methode hochgeladen.

    Diese methode kann man via Preview siehe Bild 2, testen als parameter übergeben ich ein Datum, bei jedem Datum klappt die Ausgabe auch wenn ich hier den 1.Juni.2013 eingebe.

    Jedoch wenn ich jetzt die Methode im Code aufrufe, siehe oben, dann bekomme ich die besagte Fehlermeldung, aber nur für den 1.juni.2013, jedoch weiß ich leider nicht warum

    sry..wenn es am anfang nicht gleich klar war

    lg

    Alex

    Montag, 26. August 2013 13:46
  • OK hat sich erledigt, Hab einfach den ganzen Adapter neu angelegt, anscheined gibt es Probleme wenn man beim DataSet oder Datatable zuviel ändert, dann muss man ihn einfach neu anlegen.
    • Als Antwort markiert Zanz19 Mittwoch, 28. August 2013 14:02
    Mittwoch, 28. August 2013 14:02