Sqlite return no such table but table is present w

2020-03-24 08:26发布

问题:

I had copied a db file from assets to the app database and it is successfully copied. When I query on any table it returns no such table exception. I fetched the db file from that phone and it is having all the tables that are required. I know it is a bit weird but this error is only coming on OnePlusTwo device. So my question is this a device specific issue or general issue faced by anyone else. Please do mention if anyone is facing this issue on any other phone or know how to resolve this issue. I haven't posted any code because it is coming on only one device, but if anyone needs please mention I will post that part

回答1:

I solved this problem by putting a single line of code before copying the database. The problem is when you created the database you need to close it first before opening any stream on it. This issue was not with many of the devices as now all devices handle these situations but some devices like OnePlusTwo are giving error on this. So following is the line you need to add just before copying the database:

getReadableDatabase().close();

This will close the connection first and then open a output stream on the created database. If anyone need some extra code, I can post a sample code. If this doesn't fix the issue please post your database copy code.

Thanks :)