At least show when you read from the file, or write to the file, whichever it is that is causing problems.
If you don't want to post the whole code (which you should try to avoid anyway if you have a lot of code) you could create a self-contained minimal example. So just remove everything that is irrelevant to the problem that you want to show. The code should still compile and run with the problem that you're having. In the process of doing this it's very likely that you will find the problem yourself, but if you still don't see what the problem is you can post it and we will probably be able to help you pretty easily (much more easily than if you had posted the whole program).
Note that if Database contains pointers (or objects that contain pointers) then only the addresses stored in those pointers will be written to file. The actual data that the pointers point to will not be written.