/ / Android: código para negociar quando inserir um valor na segunda vez em uma coluna exclusiva - android, sqlite, insert, unique

Android: codifique para lidar quando inserir um valor na segunda vez em uma coluna exclusiva - android, sqlite, insert, unique

Eu pesquisei por horas, mas não encontrei nenhum resultado. Imaginando como ninguém entra no meu problema. Eu tenho tabela SQLite com uma coluna UNIQUE e tenho que inserir valores para ela. Quando insiro um valor na segunda vez nessa coluna, quero que ele apareça com erro para que eu possa gerar outro valor para inserir novamente. Aqui está o pseudocódigo do que eu quero:

returnCode = db.insert (valor);

while ((returnCode == -1) && (getErrorCode () == DOUBLE_VALUE_IN_UNIQUE_COLUMN))

{

    otherValue = generate();

returnCode =db.insert(otherValue);

}

Eu já encontrei isto no site, mas a resposta é para PHP e tambémnão é o que eu quero. Agora a questão é como fazê-lo no Android ou existe um mecanismo como esse (como "getErrorCode () == DOUBLE_VALUE_IN_UNIQUE_COLUMN")? O código Java real é muito apreciado.

Respostas:

1 para resposta № 1

Você deveria usar db.insertOrThrow (), pegue a Exceção se for o caso e faça o que quiser quando acontecer.