草庐IT

sqlite-wal

全部标签

javascript - Sqlite:检查数据库是否存在

我正在使用phonegap开发一个移动应用程序,它将一些数据存储到本地数据库(sqliteDB)中。我需要知道数据库是否存在,并以此来确定需要执行哪个进程。vardatabase=window.openDatabase("my_db","1.0","sampleDB",30000);if(check_db_exist()){process_1();}else{process_2();} 最佳答案 我需要做类似的事情,我需要检查应用程序是否已经创建了一个数据库(旧数据库),如果是,则将所有数据导出到新数据库(新的和改进的数据库),然后

android - 关于多进程情况下的android Sqlite安全

在我的应用程序中,存在多个进程,并且在每个进程中,我需要访问同一个SQLite数据库(当然,这意味着超过2个线程),所以我不仅担心线程安全性SQLite,还有进程安全。这种情况的一个解决方案是usingcontent-provider.但是来自androidsdk,itwarnsthatitsmethodsmaybecalledfrommultiplethreadsandthereforemustbethread-safe.如果内容提供者本身不一定意味着线程安全,我怎么能假设它是进程安全的?article还阐明SQLiteDatabase本身默认是同步的,从而保证没有两个线程会同时接触

android - 关于多进程情况下的android Sqlite安全

在我的应用程序中,存在多个进程,并且在每个进程中,我需要访问同一个SQLite数据库(当然,这意味着超过2个线程),所以我不仅担心线程安全性SQLite,还有进程安全。这种情况的一个解决方案是usingcontent-provider.但是来自androidsdk,itwarnsthatitsmethodsmaybecalledfrommultiplethreadsandthereforemustbethread-safe.如果内容提供者本身不一定意味着线程安全,我怎么能假设它是进程安全的?article还阐明SQLiteDatabase本身默认是同步的,从而保证没有两个线程会同时接触

sql - 生成的 SQL 查询未返回与 sqlite3 HDBC 中相应静态查询相同的内容

我在Haskell中生成SQL查询并使用HDBC将它们提交到SQLite(3)数据库。现在,这个函数返回一个查询:importDatabase.HDBC.Sqlite3importDatabase.HDBCdataUmeQuery=UmeQueryString[SqlValue]derivingShowtRunUmeQuery::UmeQuery->FilePath->IO[[SqlValue]]tRunUmeQuery(UmeQueryqargs)dbFile=doconn当应用于数据库时返回正确的东西:>leta=selectPos"Word""Utterance""="2>let

sql - 生成的 SQL 查询未返回与 sqlite3 HDBC 中相应静态查询相同的内容

我在Haskell中生成SQL查询并使用HDBC将它们提交到SQLite(3)数据库。现在,这个函数返回一个查询:importDatabase.HDBC.Sqlite3importDatabase.HDBCdataUmeQuery=UmeQueryString[SqlValue]derivingShowtRunUmeQuery::UmeQuery->FilePath->IO[[SqlValue]]tRunUmeQuery(UmeQueryqargs)dbFile=doconn当应用于数据库时返回正确的东西:>leta=selectPos"Word""Utterance""="2>let

qt - 何时或如何在 QSqlTableModel 上使用 fetchMore() 和 SQLite 数据库让 rowCount() 工作?

我的类DataTable派生自QAbstractTableModel。它在内部使用QSqlTableModel对象从数据库表中获取数据。它代表db中每一行的记录(它做的更多,但记录计数始终是db表中的行数)。使用MySql,我的DataTable::rowCount()实现只是在QSqlTableModel上调用rowCount(),它运行良好。现在使用SQLite,如果db表中的行数超过256,Qt的SQLite驱动程序将返回256的行数,因此我的DataTable类也返回256-这是错误的。documentation叫我打电话while(sql_model->canFetchMor

qt - 何时或如何在 QSqlTableModel 上使用 fetchMore() 和 SQLite 数据库让 rowCount() 工作?

我的类DataTable派生自QAbstractTableModel。它在内部使用QSqlTableModel对象从数据库表中获取数据。它代表db中每一行的记录(它做的更多,但记录计数始终是db表中的行数)。使用MySql,我的DataTable::rowCount()实现只是在QSqlTableModel上调用rowCount(),它运行良好。现在使用SQLite,如果db表中的行数超过256,Qt的SQLite驱动程序将返回256的行数,因此我的DataTable类也返回256-这是错误的。documentation叫我打电话while(sql_model->canFetchMor

perl - SQLite 数据库文件可以设为只读吗?

来自SQLite数据库的信息通过Web服务器(显示在HTML浏览器中)呈现给用户。数据库由独立于Web服务器的小型应用程序一次性加载。无法从用户浏览器更改数据库数据(这是一项只读服务)。由于网络服务器有自己的用户ID,它使用“其他”权限访问SQLite数据库文件。出于安全原因,我想将数据库文件权限设置为rw-rw-r--。不幸的是,设置了这个权限后,我收到一条警告attempttowriteareadonlydatabaseatlinexxx指向关于SELECT事务的行(原则上是只读的)。当然,我没有得到任何结果。如果权限更改为rw-rw-rw,一切正常,但这意味着任何人都可以篡改数据

perl - SQLite 数据库文件可以设为只读吗?

来自SQLite数据库的信息通过Web服务器(显示在HTML浏览器中)呈现给用户。数据库由独立于Web服务器的小型应用程序一次性加载。无法从用户浏览器更改数据库数据(这是一项只读服务)。由于网络服务器有自己的用户ID,它使用“其他”权限访问SQLite数据库文件。出于安全原因,我想将数据库文件权限设置为rw-rw-r--。不幸的是,设置了这个权限后,我收到一条警告attempttowriteareadonlydatabaseatlinexxx指向关于SELECT事务的行(原则上是只读的)。当然,我没有得到任何结果。如果权限更改为rw-rw-rw,一切正常,但这意味着任何人都可以篡改数据

ios - 从 iOS 中的数据库中删除某些行后,Sqlite 文件大小不会减小

在删除一些行后,我正在以编程方式尝试检查存储在iphone上的SQLite数据库的大小。记录被删除,但文件大小保持不变。从iOS中的sqlite中删除记录后,有什么方法可以获得正确的文件大小?请看下面的代码:NSString*databasePath=[[NSStringalloc]initWithString:[self.documentsDirectorystringByAppendingPathComponent:self.databaseFilename]];unsignedlonglongfileSize=[[[NSFileManagerdefaultManager]attr