C # SQLite Nu funcționează când încerc să public

I am trying to build a small application that will have an embedded database.For that I used SQLite. The program works fine when I debugg-it in Visual C# 2010 express but when i publish it and try to run it it gives me the following error: Unhandled exception has occured in your application..... strong SQLite Error no such table:

Nu înțeleg cu adevărat deoarece funcționează bine atunci când nu este publicată .... Orice ajutor este foarte apreciat Mulțumiri

0
Aplicația dvs. creează fișierul bază de date în zbor sau utilizează o aplicație existentă?
adăugat autor Idan Arye, sursa
Sunt folosind System.Data.SQLite.dll
adăugat autor Tzutzu Suntzutzu, sursa
Utilizează unul existent. Am mutat fișierul în dosarul Debug pentru comoditate ... Am creat baza mea de date folosind linia de comandă. Fișierul care a fost creat nu are nicio extensie, așa că am adăugat .db la el. Ea a dat aceeași eroare în editor până când am citit pe forum că am nevoie pentru a adăuga un fișier app.config și a lucrat după aceea. Fișierul app.config este după cum urmează: >
adăugat autor Tzutzu Suntzutzu, sursa
Ce bibliotecă SQLite folosiți?
adăugat autor flo, sursa

1 răspunsuri

SQLite, când spune că nu există o astfel de tabelă într-un program care funcționa bine pe mașina de dezvoltare, apoi asigurați-vă că face legătura cu baza de date corectă.

În SQLite, dacă nu poate găsi baza de date la locația menționată în cod, va crea una acolo. Dimensiunea acestuia va fi 0 KB. Va deschide chiar baza de date. Problema apare atunci când datele sunt extrase din ea.

Apoi dă această eroare. Utilizați unele Cutii de mesaje/Debugger pentru a verifica ce este în neregulă cu codul dvs.

0
adăugat
Am înţeles! Am fost pentru că am folosit o cale relativă în loc de absolut ... Funcționează acum pe computerul meu, dar mă întreb dacă va funcționa când încerc să-l instalez pe alte computere ... va trebui să creez manual un nou dosar (la fel ca în computerul meu) ... Nu ar trebui să se facă acest lucru automat ...? Mulțumesc tuturor pentru răspunsurile dvs.!
adăugat autor Tzutzu Suntzutzu, sursa
@TzutzuSuntzutzu: În codul nu codul niciodată coduri grele orice căi. Utilizați metoda Directory.GetCurrentDirectory() pentru a obține dosarul în care este aplicația. Mai mult, folosiți Path.Combine pentru a combina căile.
adăugat autor Nikhil Agrawal, sursa
Da, verificați dacă fișierul bazei de date există și că șirul de conectare este corect. Poate că nu ați inclus fișierul bazei de date în pachetul de instalare? Sau, poate doriți să verificați dacă fișierul există înainte de a deschide baza de date și de a crea tabelele dacă creați un nou fișier de bază de date?
adăugat autor toby, sursa