|
|
|
Съедает у меня 3 мегобайта памяти
|
|||
|---|---|---|---|
|
#18+
Не поможите разобратся, в чем тут дело ... съедает памяти 3 мегов ... а в чем понять не могу ... начинающий же я ... CString GetConst(LPTSTR RID) // Âîçâðàò çíà÷åíèÿ êîíñòàíòû ïî RID-ó { CDaoDatabase cDaoDB; CDaoRecordset *cDaoRset; try { cDaoDB.Open(DataBasePath); // "C:\\Dispatcher\\Dispatcher.mdb" } catch(CDaoException* e) { // Îòëàâëèâàåì îøèáêè îòêðûòèÿ ÁÄ, åñëè îíè åñòü MsgBox(e->m_pErrorInfo->m_strDescription); } if (!cDaoDB.IsOpen()) return ""; cDaoRset = new CDaoRecordset(&cDaoDB); // Îòêðûâàåì òàáëèöó CString str_RID; str_RID="SELECT * FROM [Const] WHERE ([RID]='"; str_RID = str_RID + RID; str_RID = str_RID + "');"; cDaoRset->Open( AFX_DAO_USE_DEFAULT_TYPE, str_RID); // Âûáèðàåì çíà÷åíèå COleVariant var; //CDBVariant var; if (!cDaoRset->IsEOF()) { // Çàïèñü èìååòñÿ cDaoRset->MoveFirst(); cDaoRset->GetFieldValue("Size", var); // Çàêðûâàåì òàáëèöó cDaoRset->Close(); // Çàêðûâàåì ÁÄ cDaoDB.Close(); delete cDaoRset; //return Convert_COleVariant_str(var); return ""; } else { // Îòñóòñòâóåò çàïèñü // Çàêðûâàåì òàáëèöó cDaoRset->Close(); // Çàêðûâàåì ÁÄ cDaoDB.Close(); var.Clear(); delete cDaoRset; return ""; } } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2004, 12:17 |
|
||
|
Съедает у меня 3 мегобайта памяти
|
|||
|---|---|---|---|
|
#18+
При выполнении 3 метра? или уже после отработки? Если при выполнении то это не так уж и страшно... точно утверждать не буду, но выглядить естественно... А вообще как по мне не безопасно генерить запрос на основе аргумента (особенно если он генерится пользователем). А это место: if (!cDaoRset->IsEOF()) { // Çàïèñü èìååòñÿ cDaoRset->MoveFirst(); cDaoRset->GetFieldValue("Size", var); // Çàêðûâàåì òàáëèöó cDaoRset->Close(); // Çàêðûâàåì ÁÄ cDaoDB.Close(); delete cDaoRset; //return Convert_COleVariant_str(var); return ""; } else { // Îòñóòñòâóåò çàïèñü // Çàêðûâàåì òàáëèöó cDaoRset->Close(); // Çàêðûâàåì ÁÄ cDaoDB.Close(); var.Clear(); delete cDaoRset; return ""; } Гораздо лутше смотрится так: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Легче написать не правильную программу чем понять правильную (С) Alan Perlis ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2004, 15:49 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32558463&tid=2034805]: |
0ms |
get settings: |
7ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
58ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
| others: | 212ms |
| total: | 354ms |

| 0 / 0 |
