我正在使用Android上的SQLite数据库。 我的数据库pipe理器是一个单身人士,现在打开一个连接到数据库的初始化。 将数据库全部打开是安全的,这样当有人打电话给我的class级处理数据库时,它已经打开了? 还是应该在每次访问需要之前和之后打开和closures数据库。 整个开放时间是否有害? 谢谢!
试图删除文件之前,我遇到了closures数据库的问题。 代码只是 myconnection.Close(); File.Delete(filename); 而且删除引发了一个exception,即该文件仍在使用中。 几分钟后,我在debugging器中重新尝试了Delete(),所以这不是时序问题。 我有事务代码,但它在Close()调用之前根本不运行。 所以我相当确定这不是一个公开交易。 打开和closures之间的sql命令只是select。 ProcMon显示我的程序和我的防病毒看数据库文件。 它不显示我的程序在close()之后释放db文件。 Visual Studio 2010,C#,System.Data.SQLite版本1.0.77.0,Win7 我看到一个两年前的bug,但是更新日志说这个bug是固定的。 还有什么我可以检查? 有没有办法获得任何打开的命令或交易清单? 新的工作代码: db.Close(); GC.Collect(); // yes, really release the db bool worked = false; int tries = 1; while ((tries < 4) && (!worked)) { try { Thread.Sleep(tries * 100); File.Delete(filename); worked = true; } catch (IOException e) // […]
我有一个与以下架构的sqlite表: CREATE TABLE foo (bar VARCHAR) 我使用这个表作为string列表的存储。 如何从这个表中select一个随机的行?
我正在使用一个简单的代码从Java应用程序访问SQLite数据库。 我的代码是 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class ConnectSQLite { public static void main(String[] args) { Connection connection = null; ResultSet resultSet = null; Statement statement = null; try { Class.forName("org.sqlite.JDBC"); connection = DriverManager.getConnection("jdbc:sqlite:D:\\testdb.db"); statement = connection.createStatement(); resultSet = statement .executeQuery("SELECT EMPNAME FROM EMPLOYEEDETAILS"); while (resultSet.next()) { System.out.println("EMPLOYEE NAME:" + resultSet.getString("EMPNAME")); […]
我是Android新手,我必须创build一个应用程序,我需要使用SQLite数据库。 我没有那么好的SQLite装备。 你能告诉我SQLiteOpenHelper类的用途和用途,并提供一个简单的数据库创build和插入的例子吗?
我有两个SQLite数据库与普通的数据,但目的不同,我想避免重新插入数据,所以我想知道是否有可能从一个数据库复制到另一个整个表?
我一直在尝试更新一段时间的特定行,似乎有两种方法来做到这一点。 从我读过的和尝试过的,你可以使用: execSQL(String sql)方法 或者: update(String table, ContentValues values, String whereClause, String[] whereArgs)方法。 (让我知道如果这是不正确的,因为我是新来的android和SQL新手。) 所以让我来实际的代码。 myDB.update(TableName, "(Field1, Field2, Field3)" + " VALUES ('Bob', 19, 'Male')", "where _id = 1", null); 我正试图完成这一点: 更新主键(_id)等于1的Field1,Field2和Field3。 Eclipse给我一个红线在“更新”一词的下面,给了我这个解释: typesSQLiteDatabase中的方法update(String,ContentValues,String,String [])不适用于参数(String,String,String,null) 我猜我没有正确分配ContentValues。 任何人都可以指向正确的方向吗?
我是新的adnroid,我正在查询sqlite,但问题是当我在我的string中使用重音。 例如: AAA AAA AAA AAA AAA AAA 如果我做: SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%a%' ORDER BY MOVIE_NAME; 这是回报: AAA aaa(忽略其他) 但是,如果我这样做: SELECT * FROM TB_MOVIE WHERE MOVIE_NAME LIKE '%à%' ORDER BY MOVIE_NAME; 这是回报: ààà(忽略标题“ÀÀ”) 我想在SQLite数据库中selectstring,而不必关心重音和大小写。 请帮忙。
我有一个简单的问题与Sqlite。 这有什么区别: Select * from Animals LIMIT 100 OFFSET 50 和 Select * from Animals LIMIT 100,50
Android使用SQLite数据库来存储数据,我需要encryptionSQLite数据库,这怎么办呢? 我了解,应用程序数据是私人的。 不过,我需要明确地encryption我的应用程序正在使用的SQLite数据库。