При добавлении нового проекта я хочу циклически перебирать добавляемые фабрики и добавлять к ним новый идентификатор проекта, однако, когда я пытаюсь получить идентификатор из вновь созданного проекта, SQLite сообщает мне, что не может найти столбец с имя
Я использую нажатие кнопки «Следовать» для создания нового проекта, где столбец «Имя» в таблице «Проект» должен быть уникальным
Код: Выделить всё
projectButton.setOnClickListener {
if(!projectName.text.isEmpty()){
val fabricToProject = buildChecked(checkedList).toTypedArray()
val result: Long = fabricDB.projectCreate(fabricToProject,projectName.text.toString())
val projectID = fabricDB.getProjectID(projectName.text.toString())
for(x in fabricToProject){
fabricDB.fabricUpdate(x,projectID)
}
if(result.toInt() == -1){
Toast.makeText(applicationContext,"Project create failed, is your project name unique?",Toast.LENGTH_LONG).show()
}else{
Toast.makeText(applicationContext,"Project created!",Toast.LENGTH_SHORT).show()
}
}
else{
Toast.makeText(applicationContext,"Please enter a project name.",Toast.LENGTH_LONG).show()
}
}
Код: Выделить всё
fun projectCreate(fabricIDs: Array, name: String): Long {
val dbW: SQLiteDatabase=this.writableDatabase
val dbR: SQLiteDatabase=this.readableDatabase
var idString = ""
val contentValuesProject = ContentValues()
contentValuesProject.put(Pcol4,name)
for(x in fabricIDs){
idString += "$x,"
}
idString = idString.dropLast(1)
contentValuesProject.put(Pcol2,idString)
val result: Long = dbW.insert(PtableName,null,contentValuesProject)
return result
}
Код: Выделить всё
fun getProjectID(name:String): Int{
val dbR: SQLiteDatabase=this.readableDatabase
val projectID = DatabaseUtils.stringForQuery(dbR,"SELECT ID FROM Project WHERE Name is $name",null)
return projectID.toInt()
}
Код: Выделить всё
(1) no such column: Project1 in "SELECT ID FROM Project WHERE Name is Project1"(это мое самое первое приложение, поэтому, если есть какие-либо рекомендации по очистке моего кода выше или передовые методы, о которых я не знаю, чувствую можешь и меня ударить ими тоже)
Подробнее здесь: https://stackoverflow.com/questions/798 ... serted-row
Мобильная версия