2016-08-07 30 views
1

Ich habe ein WorkAboutPro 4 und auf diesem ich eine Anwendung ausführen. Diese Anwendung verwendet eine SQLlite-Datenbank.Pushing DataBase zu PDA führt zu leeren Datenbank mit RAPI2

Jetzt habe ich auch ein Computerprogramm neben ihm, hier verwende ich RAPI2, um mit meinem Handheld-Gerät zu arbeiten. Sobald ich mein Gerät anschließe, wird eine Funktion ausgelöst und es zieht zuerst meine Datenbank von meinem Handheld zu meinem Computer. Ich mache dann ein paar Sachen damit und schiebe es zurück. Problem ist, dass die Datenbank, die zurückgibt, immer 0kb ist und keine Daten hat, nicht einmal Tabellen.

Jetzt dachte ich zuerst, dass es war, weil ich nicht in der Lage bin, eine Datenbank über die Verbindung zu schieben. Also habe ich versucht, eine vollständige Datenbank auf meinen Computer zu ziehen. aber das funktioniert gut. Dann ging ich weiter und legte eine leere Txt-Datei auf meinen Hadn. zog es, fügte Text hinzu und schob es und auch das funktioniert gut.

Die einzige Sache, die schief geht, ist, wenn ich versuche, eine volle Datenbank zurück zu meinem HandHeld zu schieben, resultierend in einer 0kb leeren Datenbank.

Jeder eine Idee, warum das ist?

Lotus ~

Edit: wenn Sie einen beter Weise kennen zu erkennen, ob ein Gerät angeschlossen ist und Push/Pull-Dateien von einem PDA lass es mich wissen.

Antwort

0

Also ich konfrontiert das gleiche Problem auch. Es hat höchstwahrscheinlich damit zu tun, dass Ihre Sqlite-Verbindungen noch offen sind.

Die Sache, die am besten für mich funktionierte, war meine SqlDataAccess-Klasse zu ändern und starten Sie die Verwendung von 'using'.

Beispiel:

using(var connection = new SQLiteConnection(ConnectionString)) 
{ 
    try 
    { 
     connection.Open(); 
    } 
    catch (Exception e) 
    { 
     throw new Exception(e.Message); 
    } 
    finally 
    { 
     connection.Close(); 
    }  
} 

Für mich ist das gleiche mit Dataadapters gearbeitet.

Viel Glück in der Zukunft, und denken Sie daran, werfen Sie sich nie in einem Fall von Denvercoder9. Du hättest das schon vor langer Zeit beantworten sollen.