2010-07-30 5 views
0

J'implémente une base de données sur la plate-forme Wince dans EDB. J'ai créé et testé avec succès toutes les opérations de base de données dans l'application simple de base de données factice de MFC. Mais quand j'ai intégré l'API de base de données dans mon projet, cela crée un problème.Application MFC: Batabed incorporé sur Windows Mobile 6 Retour du SDK avec une erreur lors de l'écriture sur la base de données

Scénario:

Je suis en mesure de créer la base de données en utilisant CeMountDBVol(...) API avec le drapeau EDB sur.

Une table est créée dans le volume monté (volume est une base de données dans le monde EDB) par l'API CeCreateDatabaseWithProps(...).

API CeOpenDatabaseInSession(...) ouvre la base de données avec succès.

J'ai besoin d'appeler un appel de base de données ouvert deux fois à partir de différentes fonctions. 1ère fois après la création de la base de données et la 2ème fois avant d'écrire dans la base de données. Maintenant, quand j'appelle l'API CeWriteRecordProps(...) pour écrire un enregistrement dans la base de données, il retourne avec un code d'erreur 32 qui signifie "Le processus ne peut pas accéder au fichier parce qu'il est utilisé par un autre processus.".

Ici, je ne comprends pas le processus auquel j'essaie d'accéder. Votre aide sera appréciée.

Ceci est ma première quête, s'il vous plaît pardonnez-moi si la formation des questions est fausse.

Répondre

0

Classées le problème :)

Il a échoué en raison des appels à la base de données ouverte deux fois. EDB ne donne pas d'appel de base de données proche. Mon code essaie d'ouvrir la table (EDB l'appelle comme base de données) qui est déjà ouverte. J'ai supprimé le deuxième appel de base de données ouvert et il renvoie le succès.

Merci.