Альтернатива sqlite3_get_table - PullRequest
       0

Альтернатива sqlite3_get_table

3 голосов
/ 13 сентября 2011

У меня есть функция isadded (), и это стало причиной сбоя моей программы. Я запустил debugdiag и нашел это

Function     Arg 1     Arg 2     Arg 3   Source 
ntdll!RtlpWaitOnCriticalSection+df     00001484     00000002     00000000    
ntdll!RtlEnterCriticalSection+a8     09e10c08     006310a5     09e10c08    
sqlite3!sqlite3_mutex_leave+17b     09caf370     0c81d9c8     0063d240    
sqlite3!sqlite3_get_table+99     09caf370     0c81d9c8     0c81d9bc    
OServHandler!COServHandler::isAdded+17f     059a6fd8     0c8272e0     00000006    
OServHandler!COServHandler::getHierarchy+ba7     0c940020     00008000     6009fb27    
AdminConsoleInterface!CAdminConsoleInterface::handleConnection+178     00001254     00000000     00000000    
AdminConsoleInterface!CAdminConsoleInterface::setOServHandler+33     008c5cd0     0250e9c8     00000000    

Итак, строка, в которой он ошибается, - sqlite3_get_table ().

sprintf_s(query,1024,"SELECT * FROM OServs WHERE oservname = '%s' ;", cOServID);
cout<<query<<endl;
rc = sqlite3_get_table(db, query, &results, &nrow, &ncol, &zErrMsg);

В основном я пытаюсь увидеть, добавлена ​​ли конкретная переменная в базу данных. Есть ли какая-либо альтернатива этой функции, так как кажется, что она дает сбой? Я помню, что читал, что эта функция устарела, но я не знаю, какая альтернатива.

1 Ответ

3 голосов
/ 13 сентября 2011

Вы используете несколько команд для замены sqlite3_get_table.Вот учебник basic c / c ++ intro , который объясняет этот процесс.Вам нужно проделать больше работы, но гораздо больше контроля.

Каждый из них очень хорошо документирован в разделе функций справки sqlite3 .

Обновление:

В качестве альтернативы вы можете использовать sqlite3_exec, он немного менее интенсивный.Вот небольшой пример кода, который я нашел.

http://souptonuts.sourceforge.net/code/simplesqlite3.c.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...