首页 文章

SQLite - 没有错误,但没有数据上传到DB

提问于
浏览
0

我在Netbeans IDE中使用CodeName One Java插件开发了一个移动应用程序 .

CodeName One使用Database API . https://www.codenameone.com/javadoc/com/codename1/db/Database.html

我正在运行一些测试(我想上传大约10个值,但是,只需通过上传ID,Fname和Lname值来测试连接 .

Database db = null;
        Cursor cur = null;
        String Fname = findTxtFirstn(c).getText();
        String Lname = findTxtLastn(c).getText();

        try{

            Database ARdb = Display.getInstance().openOrCreate("RecordsDB.db");            
            System.out.println("Connection secured to database.");

            ARdb.beginTransaction();

            String createTable = "CREATE TABLE IF NOT EXISTS RecordsTable ("
                    + "ID integer PRIMARY KEY,"
                    + "First_Name text NOT NULL,"
                    + "Last_Name text NOT NULL)";

            String query = "insert into RecordsTable (ID,First_Name,Last_Name) values (3,'Test','Testerton')";       

            ARdb.execute(createTable);
            ARdb.execute(query);

            ARdb.commitTransaction();  

        } catch(Exception e){

            System.out.println("Error! Connection Failed to DB" +e.getMessage());

        } finally {

            Util.cleanup (db);
            Util.cleanup(cur);

        }

我没有错误,一切都运行,但是,当我检查它时,值不在数据库中 . 我在这里错过了什么吗?我已经按照教程并查看了Codename One API . 我找不到解决方案 .

编辑:我需要更改每次运行的主要数字的值(否则我得到一个错误:数字需要是唯一的),这告诉我数据库存储在数据库中,不幸的是,当我检查有问题的数据库时没有记录,所以数据在哪里?

我使用DB Browser for SQLite .

1 回答

  • 0

    您是否尝试在交易中执行修改?在具有事务的数据库中,需要在事务中执行所有修改操作(CREATE,INSERT,...) .

    ARdb.beginTransaction();
    // your create code 
    ARdb.commitTransaction();
    

相关问题