Приложение MFC: встроенная база данных на Windows Mobile 6 SDK возвращает с ошибкой при записи в БД - PullRequest
0 голосов
/ 30 июля 2010

Я внедряю базу данных на платформе wince в ЕАБР. Я создал и успешно протестировал все операции с базами данных в простом фиктивном приложении базы данных MFC. Но когда я интегрировал API базы данных в свой проект, это создает проблему.

Сценарий:

Я могу создать базу данных, используя CeMountDBVol(...) API с включенным флагом EDB.

Таблица создается в подключенном томе (том является базой данных в мире EDB) с помощью CeCreateDatabaseWithProps(...) API.

API CeOpenDatabaseInSession(...) успешно открывает базу данных.

Мне нужно два раза вызвать открытый вызов базы данных из разных функций. Первый раз после создания базы данных и второй раз перед записью в базу данных.

Теперь, когда я вызываю API CeWriteRecordProps(...) для записи записи в базу данных, она возвращается с любым кодом ошибки 32, что означает «Процесс не может получить доступ к файлу, поскольку он используется другим процессом».

Здесь я не понимаю, к какому процессу он пытается получить доступ. Ваша помощь будет оценена.

Это мой первый квест, пожалуйста, прости меня, если вопрос был неправильным.

1 Ответ

0 голосов
/ 30 июля 2010

Разобрался с проблемой:)

Сбой из-за двойных вызовов открытой базы данных. ЕАБР не дает закрыть базу данных вызова. Мой код пытается открыть таблицу (EDB называет ее базой данных), которая уже открыта. Я удалил 2-й открытый вызов базы данных, и он возвращает успех.

Спасибо.

...