java - Android Java,数据库插入,不工作

标签 java android android-emulator

谁能告诉我为什么这不起作用?

db = openOrCreateDatabase("database.db", SQLiteDatabase.CREATE_IF_NECESSARY, null);
                 db.setLocale(Locale.getDefault());
                 db.setLockingEnabled(true);
                 db.setVersion(1); 

                 String dropTableA = "DROP TABLE if exists databaseA";
                 String createTableA = "CREATE TABLE databaseA(" +
                 "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                 "Nome TEXT, Telefone INTEGER)";

                 String dropTableB = "DROP TABLE if exists databaseB";
                 String createTableB = "CREATE TABLE databaseB(" +
                 "_id INTEGER PRIMARY KEY AUTOINCREMENT, " +
                 "Localidade TEXT, " +
                 "fk_dbA_id INTEGER NOT NULL CONSTRAINT dbA_id REFERENCES databaseA(_id) ON " +
                 "DELETE CASCADE)";

                 String nomeValue = nome.getText().toString();
                 String telValue = tel.getText().toString();
                 String localValue = local.getText().toString();
                 //PROBLEM MAY LIE HERE
                 String insertA = "insert into databaseA(_id, Nome, Telefone) values(1, "+nomeValue+", "+telValue+")"; 
                 //PROBLEM MAY LIE HERE
                 String insertB = "insert into databaseB(_id, Localidade, fk_dbA_id) values(1, "+localValue+", 1)"; 

                 db.execSQL(dropTableA);
                 db.execSQL(createTableA);
                 db.execSQL(dropTableB);
                 db.execSQL(createTableB);
                 db.execSQL(insertA);
                 db.execSQL(insertB);

最佳答案

 String insertA = "insert into databaseA(_id, Nome, Telefone) values(1, "+nomeValue+", "+telValue+")"; 
             //PROBLEM MAY LIE HERE
             String insertB = "insert into databaseB(_id, Localidade, fk_dbA_id) values(1, "+localValue+", 1)"; 

我想你可以这样写:

 String insertA = "insert into databaseA(_id, Nome, Telefone) values(1, \""+nomeValue+"\", "+telValue+")"; 
             //PROBLEM MAY LIE HERE
             String insertB = "insert into databaseB(_id, Localidade, fk_dbA_id) values(1, \""+localValue+"\", 1)"; 

关于java - Android Java,数据库插入,不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8786103/

相关文章:

java - 如何将自定义 LifecycleStrategySupport 应用于 Camel 上下文

java - 如何使用编译好的GraalVM源码来运行Java程序?

android - 如何在 SDK 中使用 Dagger 2?

android - ParseInstallation.getCurrentInstallation().saveInBackground();不工作

android - 如何禁用android中线性布局内的所有内容?

安卓上的javascript

Java如何从具有多个字符串和 double 值的文本文件中读取一行?

java - 将文本字段值放入数组中,ArrayIndexOutOfBoundsException

android - 不同的 Intent 服务是否在同一线程上排队?

android - 在 Android 中测试 GPS