Hi,
I am attempting to open (or create if necessary) a database using code
similar to that posted in the recipies section of palmOS.com.  However,
after creating with no error, the open database call still returns NULL.
But then DmGetLastError returns 0, so I can't tell why it isn't opening...
(please see code below.)
If I stop and restart, the database cannot create (dmErrAlreadyExists) so it
is definitely creating correctly, it just won't open after it creates for
some reason...
Would anyone have any ideas?
thanks,
Meg

******code******
//database constants
#define dbType (UInt32) "data"
#define dbCreator (UInt32) "mws7"
#define dbCardNo (UInt16) 0
#define dbName "hassles"

DmOpenRef databaseRef;                 //holds reference to application's
database

/*--------------------------------------------------------------------------
-----------------------------------------------------------
Function: AppStart
Desccription: Start application, open databases and initialize as necessary
Parameters: none
Return: error code if necessary, otherwise 0
----------------------------------------------------------------------------
---------------------------------------------------------*/
static Err AppStart(void) {

 Err error;

 //initialize
 FirstRunInitialize();

 //attempt to open database
 databaseRef=DmOpenDatabaseByTypeCreator(dbType, dbCreator,
dmModeReadWrite);

 //if database couldn't be opened (deosn't yet exist)
 if(!databaseRef) {

  //create database
  error = DmCreateDatabase(dbCardNo, dbName, dbCreator,dbType, false);

  //if there was an error, return
  if (error) {

   //alert user
   FrmCustomAlert(FatalAlert, "Database could not be created.", NULL,NULL);

   //return error
   return(error);

  }//if (err)

  //otherwise, open
  databaseRef=DmOpenDatabaseByTypeCreator(dbType, dbCreator,
dmModeReadWrite);

  //if still couldn't open
  if(!databaseRef) {

   //alert user
   FrmCustomAlert(FatalAlert, "Database could not be opened.", NULL,NULL);

   //find error
   error=DmGetLastErr();

   //return error
   return(error);

  }//if(!databaseRef)

 }//if(!databaseRef)


 //operation  successful, no error code to return
 return 0;

}//AppStart





-- 
For information on using the Palm Developer Forums, or to unsubscribe, please see 
http://www.palmos.com/dev/support/forums/

Reply via email to