Tag: sqlite

JDBC SQL数据库被锁定了吗?

我正在编写一个使用本地SQL数据库来存储数据的程序。 我正在使用此处找到的驱动程序: https : //bitbucket.org/xerial/sqlite-jdbc 我试图从数据库中读取并将tableName的内容放入JTable中,如下所示: public Object[][] getTable(String tableName){ int columns = getColumnNumber(tableName); int rows = getRowNumber(tableName); String[] columnNames = getColumnNames(tableName); Object[][] table = new Object[rows][columns]; try{ Connection connection = DriverManager.getConnection(“jdbc:sqlite:” + dbName + “.db”); Statement stmt = connection.createStatement(); ResultSet rs = stmt.executeQuery(“select * from ” + tableName); for(int r = 0; r < […]

在android数据库中存储浮点数

我试图在android提供的sqlite数据库中存储美元金额,但它似乎无法正常工作。 仅当我尝试删除不是整数美元金额的交易时才会出现此错误。 即409.00将起作用,但410.44将不起作用。 如果我存储一个像410.44这样的值,然后在数据库中查询该数量,我就得不到匹配。 我试图将此字段用作REAL数据类型和TEXT数据类型,但都不起作用。 在以下示例中,getTransAmount()方法返回一个float。 这是我将db数据类型设置为REAL时运行的版本。 任何帮助,将不胜感激。 谢谢。 cv.put(transAmount, t.getTransAmount()); db.insert(tableName, null, cv); x = db.delete(tableName, transAmount + ” = ” + t.getTransAmount(), null);

Sqlite + Java:表没有更新

我正在使用SQLite的Java包装器,称为SQLiteJDBC – 这可能与任何答案有关… 我有一个表,我已经在GUI中显示,在该UI中,我有一个按钮,用于该表的单个行的字段。 当我保存更改时,我这样做…… Statement stmt = connection.createStatement(); stmt.execute(“update ‘tableName’ set ‘fieldName’=1 where userid=1”); int updateCount = stmt.getUpdateCount(); 我的连接有效,我没有抛出exception,getUpdateCount()返回’1’表示已经更新了一行。 但是我的表格没有更新。 我花了最后几个小时试图弄清楚发生了什么,但我没有运气。 帮帮我!! UPDATE 问题似乎是它没有做出我所做的改变。 在应用程序运行时,我的更改是可见的,但只要我关闭应用程序并重新打开它或直接检查数据库,我的更改就会丢失,我们又回到原点。 这是怎么回事??! 自动提交设置为true,如果我将其设置为false并尝试提交,则会抛出exception。

SQLite和JDBC:返回UnsatisfiedLinkError

我在VirtualBox中运行Xubuntu。 我安装了sqlite3,由于某种原因不再捆绑。 我将sqlite-jdbc-3.8.7.jar添加到我的构建路径并运行这个简单的代码来测试它。 import java.sql.*; public class JDBC_test { public static void main(String[] args) throws ClassNotFoundException, SQLException { Class.forName(“org.sqlite.JDBC”); Connection connection = DriverManager.getConnection(“jdbc:sqlite:test.db”); connection.close(); } } 我收到此错误: Exception in thread “main” java.lang.UnsatisfiedLinkError: org.sqlite.core.NativeDB._open(Ljava/lang/String;I)V at org.sqlite.core.NativeDB._open(Native Method) at org.sqlite.core.DB.open(DB.java:161) at org.sqlite.core.CoreConnection.open(CoreConnection.java:145) at org.sqlite.core.CoreConnection.(CoreConnection.java:66) at org.sqlite.jdbc3.JDBC3Connection.(JDBC3Connection.java:21) at org.sqlite.jdbc4.JDBC4Connection.(JDBC4Connection.java:23) at org.sqlite.SQLiteConnection.(SQLiteConnection.java:45) at org.sqlite.JDBC.createConnection(JDBC.java:114) at org.sqlite.JDBC.connect(JDBC.java:88) at java.sql.DriverManager.getConnection(DriverManager.java:571) at […]

如何在sqlite中更新表?

我有两个表首先是“TABLE_SUBJECT”,第二个是“TABLE_CHAPTER”。现在我想 添加一些列并删除之前的。 我的问题是如何做到这一点。 我试着更新但是 它显示以前不是新的。 我需要使用新列删除先前和更新表。 我更改了版本号,但它不起作用。 请给我提示或参考。 这是我的一些SQLite代码: @Override public void onCreate(SQLiteDatabase database) { database.execSQL(DATABASE_CREATE); database.execSQL(DATABASE_CREATE1); } @Override public void onUpgrade(SQLiteDatabase database, int oldVersion, int newVersion) { // TODO Auto-generated method stub Log.w(MySQLiteHelper.class.getName(), “Upgrading database from version ” + oldVersion + ” to ” + newVersion + “, which will destroy all old data”); […]

截取Android设备上已安装的应用程序

我在数据库中获得了已安装应用程序的包名称和标签列表,现在我想拦截已安装的应用程序和数据库。 假设任何应用程序从设备中删除然后我想要更改数据库。 因为我使用广播接收器,但我的代码不起作用。 PackageManager pm = this.getPackageManager(); List list = getPackageManager().getInstalledApplications(PackageManager.PERMISSION_GRANTED); for (int n = 0; n < list.size(); n++) { Apps.add(list.get(n).loadLabel(pm).toString()); AppsP.add(list.get(n).packageName.toString()); Log.w("Installed Applications", list.get(n).loadLabel(pm).toString()); Log.w("Installed Applications Package", list.get(n).packageName.toString()); … In other class public class PackageReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // TODO Auto-generated method stub if (intent.getAction().equalsIgnoreCase(Intent.ACTION_PACKAGE_ADDED)) […]

Sqlite数据库更新了一行android

我正在开发一个Android应用程序,我需要根据某个where子句更新表中的列。这是下面的代码, public void updatethekeyofweeklycolumn(String profilename, String keystemp) { SQLiteDatabase db = this.getWritableDatabase(); ContentValues values = new ContentValues(); values.put(Profile_keysofweekly, keystemp); db.update(TABLE_PROFILE_SETTINGS_FOR_WEEKLY, values,Profile_Name_for_weekly +” = “+profilename, null); } 上面的代码在where子句为null时工作正常,但是它设置了一个与whereclause关闭的力。 我的查询错了吗?

java.lang.StringIndexOutOfBoundsException:在= sqlite数据库中索引= 0 length = 0

我试图用这段代码打开一个可写的SQLite数据库…… public DataAdapterForServieClass open() throws SQLException { db = DBHelper.getWritableDatabase(); return this; } 但是我在db = DBHelper.getWritableDatabase();上收到以下错误db = DBHelper.getWritableDatabase(); 线… 06-10 11:58:13.995: ERROR/AndroidRuntime(548): FATAL EXCEPTION: main 06-10 11:58:13.995: ERROR/AndroidRuntime(548): java.lang.StringIndexOutOfBoundsException: index=0 length=0 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.app.ContextImpl.validateFilePath(ContextImpl.java:1518) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.app.ContextImpl.openOrCreateDatabase(ContextImpl.java:725) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.content.ContextWrapper.openOrCreateDatabase(ContextWrapper.java:221) 06-10 11:58:13.995: ERROR/AndroidRuntime(548): at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:149) 这是我的DBHelper类的代码…… static class DatabaseHelper […]

最佳嵌入式SQL DB的写入性能?

有没有人对流行的开源嵌入式SQL数据库进行基准测试/评估以获得性能,特别是写性能? 我对sqlite,Firebird Embedded,Derby和HSQLDB(其他我缺少的?)进行了1:1的比较,但没有全面的比较……另外,我对这些中的任何一个的整体开发人员体验感兴趣(对于Java应用程序)。

SQLite:将表从一个数据库复制到另一个数据库的最简单方法?

我有两个sqlite数据库,并希望将数据库A中的表复制到数据库B.不应复制数据库A中的其他表。 在Java中最简单的方法是什么? 我可以明确地做一些像A中的Select *然后将所有这些插入到数据库B中,但是不应该有更好的方法吗?