Database will not delete

I am using appecelerator  javascript for an android app ... the code wont delete the database .... we count the the lines in the database and send the data to our server ... once the number is zero it erases the database... 1) the database is not being erased so we are sending a lot of duplicate data and an enormous amount the next time user runs our program... as a side note can someone send me a tutorial of how to view the android database ... a really basic one for people new to android. using adb i was able to locate the database file, but not view it or copy the file out of adb to my desktop

var numRequests = '';
var Groundy = function(){
 
var db = Ti.Database.open('FrogMan.db');
var getGroundData = db.execute('SELECT user, MatchUID,Ossys, UserID, SetPrKey, Game, Point, Stroke, XCor, YCor FROM GroundStrokeData');
numRequests = 0;
while (getGroundData.isValidRow())
{
    numRequests++;
     var user = getGroundData.fieldByName('UserID');
     var UserID = getGroundData.fieldByName('UserID');
     var MatchUID = getGroundData.fieldByName('MatchUID'); 
     var Ossys = getGroundData.fieldByName('Ossys');
     var SetPrKey = getGroundData.fieldByName('SetPrKey'); 
     var Game = getGroundData.fieldByName('Game');
     var Point = getGroundData.fieldByName('Point');  
     var Stroke = getGroundData.fieldByName('Stroke'); 
     var XCor = getGroundData.fieldByName('XCor');
     var YCor = getGroundData.fieldByName('YCor');
 
  GroundDtrokeTransmit(user, MatchUID, Ossys, UserID, SetPrKey, Game,  Point, Stroke, XCor, YCor);
  getGroundData.next();
}
 
getGroundData.close();
db.close();
};
 
var GroundDtrokeTransmit = function(user, MatchUID, Ossys,  UserID, SetPrKey, Game, Point, Stroke, XCor, YCor){ 
 
 
var xhr=Titanium.Network.createHTTPClient();    
 xhr.onerror = function(e){ 
 Ti.API.error('groundy Bad Sever =>'+e.error);
};
 
xhr.open("POST", "http://mytenniscoach.net/services/default.php?method=transGround");//ADD your URL
xhr.setRequestHeader("content-type", "application/json");
    params={    "user":user,
                "UserID": UserID,
                "MatchUID":MatchUID,
                "Ossys":Ossys,
                "SetPrKey":SetPrKey,
                "Game" : Game,
                "Point":Point,
                "StrokeUID": Stroke,
                "XCor" : XCor,
                "YCor" : YCor
 
          };
 
Ti.API.info('this is ground stroke data'+JSON.stringify(params));
xhr.send(JSON.stringify(params));
 
 
xhr.onload = function(f){
    numRequests--;
    Ti.API.info(f.error);
    var jObject = JSON.parse(this.responseText);
    if(jObject.Result == 1){
        jsonError=false;
 }else{
    jsonError = true;
    //do nothing 
 
 }    
 
if (numRequests == 0) {
            Ti.API.info('All Requests complete; jsonError is ' + jsonError);
            // all processes complete
            if (jsonError == false) {
                Ti.API.info('Attempting to delete database ' +db);
                db = Ti.Database.open('FrogMan.db');
                db.execute('DELETE FROM GroundStrokeData');
                db.close();
                proof();
                Serve_Data_Tbl();
 
            } else {
 
            }
 
        } 
 }      
 };
 var proof = function(){
    db = Ti.Database.open('FrogMan.db');
    getGroundData = db.execute('SELECT user, MatchUID,Ossys, UserID, SetPrKey, Game, Point, Stroke, XCor, YCor FROM GroundStrokeData');
    numRequests = 0;
    while (getGroundData.isValidRow())
    Ti.API.info('this is database after delete ' +getGroundData);
 
 };

Open in new window

dolamitejenkinsAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
SurranoConnect With a Mentor System EngineerCommented:
First off, unless your android device is rooted, adb won't have root access.
Lacking root access you won't be able to read *any* app specific files since each and every app has a different userid assigned and only that user (plus root) can access the file.

If the application is written (or at least can be modified) by you then I recommend adding an export function that exports the entire db content to sdcard.

If you manage to access the sqlite db files, I recommend using the following tool:
http://sqlitebrowser.sourceforge.net/
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.