Announcement

Collapse
No announcement yet.

Quellcode schreibt sich automatisch selbst um ?!?!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Quellcode schreibt sich automatisch selbst um ?!?!

    Hallo zusammen,

    ich arbeite mit VisualStudio 2005 (c++), Firebird 2.0, FirebirdClient 2.0, DDEXProvider 2.0 und einer Datenbank vom Typ FDB.
    Ich lese aus meiner Datenbank alle Daten aus meiner Tabelle "KUNDEN" und schreibe sie in ein DataGrid(WinForm)(mit Hilfe der tools: fbconnection, fbDataAdapter und eines DataSets).
    Es funktioiert alles prima. Alle Veränderungen egal ob DELETE, INSERT oder UPDATE werden in meine Datenbank übernommen.

    Als Beispiel mal mein DELETE command:
    Code:
    this->fbCommand4->CommandText = L"DELETE FROM KUNDEN WHERE ID = @p1";
    this->fbCommand4->CommandTimeout = 30;
    this->fbCommand4->Connection = this->fbConnection1;
    this->fbCommand4->Parameters->Add(L"@p1",FirebirdSql::Data::FirebirdClient::FbDbType::Integer, 4, L"ID");
    Aber jetzt kommt mein Fehler!
    Sobald ich nun auf meiner MainForm etwas verändere (ganz egal was!!! Auch wenn ich nur ein Label draufsetzte!!!) und dann wieder auf meinen Quellcode gehe, verändert sich mein DELETE command folgendermaßen:
    Code:
    this->fbCommand4->CommandText = L"DELETE FROM KUNDEN WHERE ID = @p1";
    this->fbCommand4->CommandTimeout = 30;
    this->fbCommand4->Connection = this->fbConnection1;
    this->fbCommand4->Parameters->AddRange(gcnew cli::array< FirebirdSql::Data::FirebirdClient::FbParameter^  >(1) {(gcnew FirebirdSql::Data::FirebirdClient::FbParameter(L"@p1", 
    FirebirdSql::Data::FirebirdClient::FbDbType::Integer, 4, L"ID"))});
    In gleicher Form verändern sich auch INSERT und UPDATE command. Debugge ich jetzt mein Programm ohne den Quellcode wieder umzuschreiben, wird mir eine kurze Fehlermeldung, ohne Erleuterung, angezeigt und mein Visual Studio schließt sich komplett. Mein Projekt lässt sich daraufhin überhaupt nicht mehr öffnen!!!!

    Gibt es eine Möglichkeit Visual Studio zu sagen, dass es den Quellcode nicht mehr umschreiben soll? Oder sonst irgendetwas um mein Problem zu beheben???

    in der Fehlermeldung steht:
    StackOverflowExeption wurde nicht behandelt
    Eine nicht behandelte Ausnahme des Typs "System.StackOverflowExeption" ist in Unbekanntes Modul. aufgetreten
    Hinweise zur Fehlerbehebung:
    Stellen Sie sicher, dass sich keine Endlosschleife ergibt.
    Zuletzt editiert von MarcoOoOo; 05.01.2009, 16:11.

  • #2
    Editiere nicht den Code in InitializeComponent(). Diese Methode wird vom Designer verwaltet und von ihm regelmäßig neu generiert( sollte auch in C++/CLR entsprechend kommentiert sein!!)

    Wenn der Designer falschen Code generiert ziehe deine korrigierte Version komplett aus InitializeComponent() heraus und ruf ihn vom Constructor nach InitializeComponent() auf.

    Comment


    • #3
      Hallo Ralf,
      super DANKE!

      Hab es jetzt einfach in Formload reingeschrieben !! ^^

      Comment


      • #4
        Hallo Marco,

        willst Du mich unbedingt ärgern?
        Originally posted by MarcoOoOo View Post
        Ich lese aus meiner Datenbank alle Daten aus meiner Tabelle "KUNDEN" und schreibe sie in ein DataGrid(WinForm)
        Verd..., die Daten werden nicht in das DataGrid geschrieben, sondern in eine DataTable! Das DataGrid dient der Anzeige oder Bearbeitung; aber gespeichert werden sie in einer DataTable (als Bestandteil eines DataSet)!

        Jürgen

        Comment


        • #5
          Hallo Jügen,
          nein ganz bestimmt nicht !!!
          Tut mir leid war falsch Formuliert

          Comment

          Working...
          X