БД открыта (sqlite3_open), т.е. получаем что занята.
использую следующий код:
HANDLE hFile;
DWORD FileSize;
hFile =CreateFile(fileName,GENERIC_READ,FILE_SHARE_READ,NULL,OPEN_EXISTING,NULL,NULL);
FileSize=GetFileSize(hFile,NULL);
CloseHandle(hFile);
hFile — возвращает fffff — т.е. неуспех при открытии файла для чтения, это логично, т.к. база данных уже занята, уже открыта.
А как тогда узнать размер БД ?
Может в API есть хитрая функция которая все свойства бд предоставляет, только к сожалению ее не нашел...
Здравствуйте, Alexys, Вы писали:
A>hFile — возвращает fffff — т.е. неуспех при открытии файла для чтения, это логично, т.к. база данных уже занята, уже открыта.
WIN32_FIND_DATA data;
CloseHandle(FindFirstFile(path, &data));
смотрим info.nFileSizeLow и info. nFileSizeHigh
A>А как тогда узнать размер БД ?
A>Может в API есть хитрая функция которая все свойства бд предоставляет, только к сожалению ее не нашел...
тут не помогу
Здравствуйте, Alexys, Вы писали:
A>БД открыта (sqlite3_open), т.е. получаем что занята.
A>Может в API есть хитрая функция которая все свойства бд предоставляет, только к сожалению ее не нашел...
3-я ссылка в гугле по запросу "sqlite3 database size":
http://www.sqlabs.com/blog/?p=54
AK>AK>WIN32_FIND_DATA data;
AK>CloseHandle(FindFirstFile(path, &data));
AK>
When the search handle is no longer needed, close it by using the FindClose function, not CloseHandle.
Вот ответили, ну а если уж так хочется по размеру файла на диске, то см GetFileAttributesEx
http://msdn.microsoft.com/en-us/library/aa364946(v=vs.85).aspx... << RSDN@Home 1.2.0 alpha 5 rev. 1495>>