c# windowform mit sqlite öffnet sich nicht



  • ironie?



  • HansB schrieb:

    Anwendung: Bank.exe
    Frameworkversion: v4.0.30319
    Beschreibung: Der Prozess wurde aufgrund einer unbehandelten Ausnahme beendet.
    Ausnahmeinformationen: System.IO.FileNotFoundException
    Stapel:
    bei Bank.Form2.InitializeComponent()
    bei Bank.Program.Main()
    (...)

    Mach mal in dein Main() sowas da rein:

    try
    {
        // hier der Code der jetzt schon in Main() steht rein
    }
    catch (System.Exception e)
    {
        MessageBox.Show(e.ToString());
    }
    

    Dann siehst du nämlich nicht nur was für einen Typ die Exception hat, sondern netterweise auch die Fehlermeldung.



  • HansB schrieb:

    ironie?

    Genau so viel oder wenig, wie hier 1 Mio. Zeilen compilerautogenerierten Code zu posten, und dann von uns wissen zu wollen was der Fehler ist.

    Lern bitte die Grundlagen von C# - wozu eben auch gehört: wie bekomme ich mehr über Fehler raus, wie bediene ich den Debugger richtig etc.
    So wie du dich hier anstellst wirst weder du viel Freude am Entwickeln bzw. Debuggen haben, noch wir damit deine Beiträge zu lesen.



  • also ich programmier jetzt seit 4 wochen und versuche stehts selber meine fehler zu lösen und suche viel im internet gehe schritt für schritt durch mein programm... schuldigung das ich nach 4 wochen nicht viel drauf habe, aber ich denke ein hinweis darauf, das es mit dem debugger noch mehr möglichkeiten gibt auf den fehler zu kommen wäre hilfreicher gewesen!



  • nicht-DU> Hast du die "System.Data.SQLite.dll" mitausgeliefert?
    DU> ja die ist immer mit drin (...)
    nicht-DU> Welche Fehlermeldung kommt denn?
    nicht-DU-2> Dependency Walter blabla
    DU> (...) das ist der fehler! (...) und > 1000 Zeilen Code aber nirgends was vonwegen "SQLite.dll", kein Hinweis darauf dass du irgendwelchen Hinweisen nachgegangen wärest, kein "das mit SQLite geht jetzt, dafür hab ich nen anderen Fehler". Einfach nur "das ist der fehler!".

    Merkst du was?



  • ich wollte dir gerade damit sagen das ich dir recht gebe und ich mich nicht sehr clever anstelle, ich wollte dir nur sagen das du anstatt des nichts sagenden beitrages auch gleich sagen hättest können das meine herangehensweise völlig falsch ist!!!

    DU> (...) das ist der fehler! (...) und > 1000 Zeilen Code aber nirgends was vonwegen "SQLite.dll", kein Hinweis darauf dass du irgendwelchen Hinweisen nachgegangen wärest, kein "das mit SQLite geht jetzt, dafür hab ich nen anderen Fehler". Einfach nur "das ist der fehler!".

    ich bin ja eigentlich auch der meinung das der fehler an der sqlite datenbank liegt!

    da ich in verschiedenen foren geschaut habe und es öfter probleme gibt, welche man durch einstellen eines bestimmten cpu anstatt von "anycpu" lösen sollte, bzw eine weitere software von.net installieren soll damit es funktioniert, doch dies hat noch nichts gebracht!

    try
    {
        // hier der Code der jetzt schon in Main() steht rein
    }
    catch (System.Exception e)
    {
        MessageBox.Show(e.ToString());
    }
    

    durch diese methode öffnet sich mein programm jetzt ohne fehler

    *edit*

    gerade erst mitbekomm das es garnicht dein kommentar war, entschuldigung!



  • HansB schrieb:

    try
    {
        // hier der Code der jetzt schon in Main() steht rein
    }
    catch (System.Exception e)
    {
        MessageBox.Show(e.ToString());
    }
    

    durch diese methode öffnet sich mein programm jetzt ohne fehler

    Das kann eigentlich nicht sein. Soll heissen: ich wüsste nicht wie das gehen sollte.
    Wenigstens solltest du hier ne Message-Box bekommen, und danach sollte das Programm terminieren.

    Hast du vielleicht gleichzeitig noch was anderes geändert?



  • das hat mich gerade auch irritiert, weil ich vor ner weile die Visual PowerPakcks bzw LineShapes aus dem programm entfernt habe, da sie bei meinem bruder zu problemen führten, danach habe ich aber wieder am laptop mit der neuen versucht und es ging trotzdem nicht... da werd ich wohl nochma nachgehen, woran es nun lag! 👍



  • HansB schrieb:

    ich bin ja eigentlich auch der meinung das der fehler an der sqlite datenbank liegt!

    Naja, du hast bzw. hattest zumindest definitiv ein Problem mit der Datenbank (bzw. genauer: der SQLite DLL). Natürlich könnte sein dass es da noch weitere Probleme gibt...

    da ich in verschiedenen foren geschaut habe und es öfter probleme gibt, welche man durch einstellen eines bestimmten cpu anstatt von "anycpu" lösen sollte, bzw eine weitere software von.net installieren soll damit es funktioniert, doch dies hat noch nichts gebracht!

    Die SQLite DLL beinhaltet "native" Code, und der kann nur in einen "passenden" Prozess geladen werden. D.h. native 32 Bit Code kann nur in einen 32 Bit Prozess geladen werden, und native 64 Bit Code nur in einen 64 Bit Prozess.
    Der Prozess wird nun von der .NET Runtime anhand der .exe erzeugt, und zu dem Zeitpunkt wo dann die DLL geladen wird ist es schon zu spät, wenn die "Bittigkeit" des Prozesses nicht "passt". Die einfachste Möglichkeit das zu lösen, ist den Prozess auf 32 Bit festzunageln, und das macht man indem man das Projekt der .exe von "anycpu" auf "x86" umstellt.

    D.h. wenn du willst dass dein Programm auch auf 64 Bit Windows Versionen läuft, dann musst du die Einstellung auch auf "x86" lassen.
    Nur dass dein Programm dann immer noch nicht läuft, heisst ja nicht dass die Einstellung nicht nötig wäre.

    Wenn das Thema erledigt ist, fehlt aber immer noch die MSVCR100.DLL:
    http://www.microsoft.com/en-us/download/details.aspx?id=5555 (x86)
    http://www.microsoft.com/en-us/download/details.aspx?id=14632 (x64)

    Auch wichtig: das "Microsoft Visual C++ 2010 Redistributable Package" installiert nur Release-Versionen. Die SQLite DLL darf also nicht als Debug compiliert sein, sonst wird es nicht gehen.



  • ok vielen dank für die vielen hinweise, da werd ich mich gleich ma ransetzen und noch deine hinweise abarbeiten!

    wirklich vielen dank... 🙂


Anmelden zum Antworten