Tag: sqlite

Android – SQLite – 选择BETWEEN Date1和Date2

Mac OS-X Android的 Eclipse与ADT SQLite的 我是创建Android应用程序的新手,我对此进行了大量研究,但我无处可去。 我需要查询我的SQLite数据库以返回2个日期之间的所有行。 到目前为止,我从我的研究中学到的是Androids SQLite数据库中没有DateTime列,我必须将其保存为文本列。 但我认为问题在于尝试比较字符串,但我无法找到解决方法。 这是我的代码: DB = currentContext.openOrCreateDatabase(DBName, 0, null); DB.execSQL(“CREATE TABLE IF NOT EXISTS ” + tableName + ” (ID INTEGER PRIMARY KEY AUTOINCREMENT, Date VARCHAR(40), Hours INT(3));”); 我没有收到任何错误,但我没有从RawQuery返回任何结果。 这是我的代码: Cursor c = newDB.rawQuery(“select ID, Date, Hours from ” + tableName + ” where Date BETWEEN ‘” + […]

如何从Android中的特定联系人读取收件箱短信?

我正在尝试从内容提供商处读取短信。 我有以下代码 Uri uri = Uri.parse(SMS_URI_INBOX); String whereClause = “address=?”; String[] whereArgs = {address}; String[] projection = new String[] { “*” }; Cursor cur = getContentResolver().query(uri, projection, whereClause,whereArgs, “date desc”); 一切都工作正常,除非各种格式的地址出现。 一种类型的地址可以用各种方式表示,如“+9198765443210”,“+ 91 987 65443210”,“+ 91(987)65443210”,“098765443210”等……这些类型的各种地址格式驻留在SMS内容提供商中同样。 方法1 : 最初我将所有地址转换为格式,其中特殊字符被%like替换 +9198765443210 – >%98765443210% +91 987 65443210 – >%987%65443210% 然后使用String whereClause = “address LIKE ?”; 但失败的原因可能是我们正在触发查询address LIKE […]

在第二次插入电话磁盘上的数据库后,房间停止插入

每当我在数据库中插入内容时,前两个插入都会通过并保存在磁盘中。 通过使用“Android调试数据库”,我可以检查插入的行,看看它是否成功。 第三个插入物总是卡在那里。 无论之后跟随多少插入,它们都不会保存在磁盘中。 直到我重新启动应用程序然后再次运行,然后它重新开始并在第二次插入后停止插入。 我实际上以各种可能的方式调试了我的应用程序。 有效负载每次都是正确的。 事实上,插入是成功的。 如果我运行查询并获取行(SELECT *),它会返回三个插入。 所有这三个。 但是,在磁盘中,它仍然只显示两个插入。 如果我重新启动应用程序并再次运行查询并获取行(SELECT *),它将返回到两行。 似乎问题似乎在某些低级别上持续存在,因为我的代码是正确的。 这也是我没有在这里发布的原因。 相信我已经多次检查过。 我只需要答案,为什么它会在第二次插入后停止将数据从缓存传输到手机磁盘上的数据库?

尽管表不为空,但JDBC返回一个空的ResultSet(rs.isBeforeFirst()== true)

我正在尝试为我的Web服务完成数据库访问方法。 服务和数据库访问方法适用于数据库中的所有其他表,但这种特定方法不适用。 当我查询DB时, ResultSet总是返回空(意味着isBeforeFirst() == true )。 经过多次尝试后,我将查询切换为一个简单的SELECT * FROM VIDEOS ,看看问题是我输入的数据与我在查询中使用的数据之间是否存在差异,但即使这个简单的查询选择表格中的所有项目也没有t返回任何结果。 这是我用来从数据库中提取信息的方法: public static Object[] getVideo(String phonenum, String timeStamp) { Connection c = null; Statement stmt = null; Object[] result = null; try { Class.forName(“org.sqlite.JDBC”); c = DriverManager.getConnection(“jdbc:sqlite:lineappDB.db”); c.setAutoCommit(false); System.out.println(“Opened database successfully”); stmt = c.createStatement(); String query = String.format(“SELECT * FROM VIDEOS”); ResultSet rs […]

没有捕获SQLiteException

我正在尝试捕获“android.database.sqlite.SQLiteException:错误代码5:数据库被锁定”exception: try { db.insert(“mytable”, null, myvalues); } catch(SQLiteException e) { Log.d(“My App”, “caught”); … } 出于某种原因,我仍然得到错误,并且“抓住”没有出现在LogCat中。 我尝试捕获一般的“exception”,但仍然无效。 怎么了? 更新我发现了这个问题,这真的很奇怪:出于某种原因,将db.insert()更改为db.insertOrThrow(),因为goto10声明修改了所有内容。 错误来自该行,但也许它不是抛出exception而只是崩溃或什么?

无法打开数据库/无法将(数据库)的区域设置更改为“en_US”

我已经阅读了无法将db’/data/data/my.easymedi.controller/databases/EasyMediInfo.db’的语言环境更改为’en_US’的解决方案,但它对我没有帮助。 我仍然有同样的错误。 这些是我的DBHelper类。 你能调查一下并帮助我吗? package com.example.mgr; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.sql.Date; import java.util.ArrayList; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteException; import android.database.sqlite.SQLiteOpenHelper; public class DBHelper extends SQLiteOpenHelper{ //The Android’s default system path of your application database. private static String DB_PATH = “/data/data/com.example.mgr/databases/”; private static String DB_NAME = […]

MySQL和SQLite在SQL中的差异

我正在编写使用JDBC同时使用SQLite和MySQL的 java应用程序。 这些数据库的SQL有什么不同吗? 我可以对SQLite和MySQL使用相同的查询,还是有任何特定于数据库的东西,这对另一个不起作用? 到目前为止,我只使用MySQL ,所以我对SQLite并不是很了解。

Android – 访问在线数据库SQlite

我需要从Android应用程序打开,读取和插入在线SQLite数据库中的项目 。 我知道url,用户名和密码。 在JavaSE中,我将执行以下操作: Class.forName(“com.mysql.jdbc.Driver”); Connection dbConnection = DriverManager.getConnection(URL, USER, PASSWORD); 我读到我在Android中无法做到这一点,因为没有JDBC驱动程序(有一个”SQLite.JDBCDriver”但它没有记录,也没有推荐)。 那么哪种方式最简单? 我向谷歌询问,但看起来他要么不知道。

java.sql.SQLException:数据库已锁定

我遇到问题“java.sql.SQLException:Database Locked”。 我为我的程序做了一个登录屏幕,之后它打开了我设计的jFrame。 我做了一个小按钮,用于将jtextfields中的数据保存到数据库中,并将它们显示到文本字段旁边的jtable。 但是在填充jtextfields之后,当我点击这个按钮时,它给了我“java.sql.SQLException:Database Locked”错误。 我在等你的帮忙。 PS:如果您需要登录屏幕或其他任何内容,只需留下评论或回答,我可以编辑此问题。 private void cmd_saveActionPerformed(java.awt.event.ActionEvent evt) { try{ String sql=”Insert into maintable(\”Ad-Soyad\”,Yaş,Konum,\”E-Posta\”,\”Katılım Tarihi\”) values (?,?,?,?,?)”; pst=conn.prepareStatement(sql); pst.setString(1, jTextField1.getText()); pst.setString(2, jTextField2.getText()); pst.setString(3, jTextField3.getText()); pst.setString(4, jTextField4.getText()); pst.setString(5, jTextField5.getText()); pst.execute(); JOptionPane.showMessageDialog(null, “Kaydedildi !”); } catch(Exception e) { JOptionPane.showMessageDialog(null,e); } } 编辑:现在点击按钮后,它即将出现“Kaydedildi”消息,该消息在英语中是成功的。 但是它向我展示了另一个错误。 private void Table_EmployeeMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling […]

登录系统我不知道很热

我正在研究带有swing的java迷你游戏,所以它看起来像一个程序(因为我只是学习java +数据库)。现在我有登录系统,但我不知道该怎么做: *当我登录时,我保持登录状态直到o不关闭程序 *因为我想为我的帐户创建一个字符,并将字符统计信息保存到我的帐户ID中 —-> table account ID: 2 Account:Yolo Password:Swag —————–> table Character ID:”my id ” Char姓名我想要的等等所以我想问如何获得当前的accountid并将其插入到另一个具有char stats的表中?我学习所以不要怪我:) ` static Connection connection = null; Statement stmt = null; public JFrame LoginF; public JLabel UsernameL; public JLabel PasswordL; public JButton LoginB; public JTextField User; public JPasswordField Pass; public static void main(String args[]){ Login log = […]