Как избавиться от «Microsoft C ++ исключение: int в области памяти» при использовании INSERT в MFC ODBC Database.ExecuteSQL (`…`)

Моя задача — обратиться к Access-Database-File * .accdb с помощью C / C ++.

Я хочу вставить Statusmessages из приложения на C / C ++. Мой выбор пал на MFC ODBC. Я довольно новичок в программировании C. Я очень много читал на эту тему и пытался найти много примеров. У меня есть только Office-2010 x64, поэтому мне нужно скомпилировать его как x64, чтобы работало Access-соединение. У меня работает Windows 10 Professional. Это Visual Studio 2015.

  • Я уже дал everybody необходимое разрешение для Tempfolder% TEMP% (устраняет ошибку).

  • Я уже дал everybody разрешение (Regedit) HKEY_LOCAL_MACHINE / SOFTWARE / OBDC и HKEY_LOCAL_MACHINE / SOFTWARE / Wow6432Node / OBDC для устранения некоторых ошибок реестра-разрешений.

Я очень старался, чтобы все работало как надо, но я застрял при реализации любого SQL-запроса INSERT, не вызывая этой ошибки:
Microsoft C++ exception: int at memory location
Утомленная вещь: эта Вставка работает.

DELETE работает без ошибок.
SELECT работает без ошибок.
INSERT работает, но выдает тихую ошибку в Immediate Window,

f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(616) : AppMsg - Warning: ODBC Success With Info,
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - Fehler bei SQLSetConnectAttr-Aufruf für Treiber
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(174) : AppMsg - State:IM006,Native:0,Origin:[Microsoft][ODBC Driver Manager]

f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(954) : AppMsg - DBMS: ACCESS
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(958) : AppMsg - Version: 12.00.0000
f:\dd\vctools\vc7libs\ship\atlmfc\src\mfc\dbcore.cpp(964) : AppMsg - ODBC Driver Manager Version: 03.80.0000

On Line: db.ExecuteSQL (sql);

Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E508.
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E508.

On Line: db.ExecuteSQL (queryinsert);

Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E5F8.
Exception thrown at 0x00007FF8B941A1C8 in WriterConsole.exe: Microsoft C++ exception: int at memory location 0x0000000EC137E5F8.

Вот экран моего кода:

CodeScreenshot

(Я не могу использовать SQLite, который я бы предпочел здесь.)
Я прошу прощения у всех вас, но я, кажется, не могу понять это самостоятельно. У меня есть проблемы, чтобы понять, что означает эта Ошибка, как я могу ее устранить или могу ли я ее игнорировать. Спасибо за ваше время.

РЕДАКТИРОВАТЬ: Вот папка проекта в архиве. http://cloud.downfight.de/index.php/s/mkuxZi7uFmnQFub обратите внимание, что база данных должна находиться в папке, которая должна быть вставлена ​​в const LPCTSTR DBAuth

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]