Como executar string

Android

28/06/2013

Como que executa isso:


private static final String[] SCRIPT_DATABASE_CREATE = new String[] {    
    
// aqui coloquei o scritpt    
    
    "CREATE TABLE IF NOT EXISTS CadUsuario(codigoUsuario INTEGER PRIMARY KEY autoincrement NOT NULL, codigo INTEGER NOT NULL,  login TEXT NOT NULL, senha TEXT NOT NULL);",       
          
          "CREATE TABLE IF NOT EXISTS CabecalhoPedido( idCabecalhoPedido INTEGER PRIMARY KEY  autoincrement NOT NULL, pedidoNumero INT NOT NULL,  codigoUsuario INTEGER NOT NULL, "+      
          " pedidoClienteDocumento TEXT, pedidoClienteInscricaoEstadual TEXT, pedidoClienteRazaoSocial TEXT, " +      
          " pedidoClienteEndereco TEXT, pedidoClienteCidade TEXT, pedidoClienteEstado TEXT, pedidoClienteCep TEXT, " +      
          " pedidoDataEmissao TEXT, pedidoValorTotal TEXT, pedidoCodCondicaoPag TEXT, pedidoCondicaoPag TEXT, pedidoLiberado TEXT, statusPedido TEXT, "+      
          " FOREIGN KEY(codigoUsuario) REFERENCES CadUsuario(codigoUsuario));",      
                
          "CREATE TABLE IF NOT EXISTS AprovaPedido( pedidoNumero INT PRIMARY KEY NOT NULL, codigoUsuario INTEGER NOT NULL, aprovada TEXT NOT NULL, "+      
          " FOREIGN KEY(pedidoNumero) REFERENCES   CabecalhoPedido(pedidoNumero));"      
    
}
Frederico Brigatte***

Frederico Brigatte***

Curtidas 0

Respostas

Romulo Contro

Romulo Contro

28/06/2013

bdcel = openOrCreateDatabase("nome_do_banco.db", MODE_WORLD_READABLE, null);
bdcel.execSQL("CREATE TABLE IF NOT EXISTS TABELA_AQUI (campos aqui);");
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

E o código que postei, como que executaria?
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

28/06/2013

E o código que postei, como que executaria?

Frederico, se você observar o exemplo que nosso amigo deu, com certeza conseguirá executar seu script.
Observe que são basicamente strings, então substitua o comando do exemplo pelo seu.
GOSTEI 0
Pablo Pinheiro

Pablo Pinheiro

28/06/2013

Eu faço da seguinte forma

String sql = "CREATE TABLE IF NOT EXISTS CadUsuario(codigoUsuario INTEGER PRIMARY KEY autoincrement NOT NULL, codigo INTEGER NOT NULL, login TEXT NOT NULL, senha TEXT NOT NULL);";

db = openOrCreateDatabase("seuBanco", MODE_WORLD_READABLE, null);
db.execSQL(sql);
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Joel, poderia me ajudar nesse topico:

https://www.devmedia.com.br/forum/pegar-id-de-um-item-no-spinner/447037

Ok,vou ver novamente esse código e tentar. Estou precisando de ajuda no tópico do spinner.
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

28/06/2013

Joel, poderia me ajudar nesse topico:

https://www.devmedia.com.br/forum/pegar-id-de-um-item-no-spinner/447037

Ok,vou ver novamente esse código e tentar. Estou precisando de ajuda no tópico do spinner.
Um colega está respondendo lá. Ele está mais apto que eu a te ajudar nessa questão.
Abraço.
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Ok, obrigado, Joel.
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

E se fosse mais de uma tabela? Pra uma entendi, uso esse código, mas e para duas ou mais?


String sql = "CREATE TABLE IF NOT EXISTS CadUsuario(codigoUsuario INTEGER PRIMARY KEY autoincrement NOT NULL, codigo INTEGER NOT NULL, login TEXT NOT NULL, senha TEXT NOT NULL);";

db = openOrCreateDatabase("seuBanco", MODE_WORLD_READABLE, null);
db.execSQL(sql);
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

28/06/2013

É só criar várias strings e executar uma por vez.
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Seria assim:

String sql1 = "CREATE TABLE IF NOT EXISTS CadUsuario(codigoUsuario INTEGER PRIMARY KEY autoincrement NOT NULL, codigo INTEGER NOT NULL, login TEXT NOT NULL, senha TEXT NOT NULL);";

String sql2 = "CREATE TABLE IF NOT EXISTS CadUsuario(codigoUsuario INTEGER PRIMARY KEY autoincrement NOT NULL, codigo INTEGER NOT NULL, login TEXT NOT NULL, senha TEXT NOT NULL);";
 
db = openOrCreateDatabase("seuBanco", MODE_WORLD_READABLE, null);
db.execSQL(sql1);
db.execSQL(sql2);

GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Desse jeito está correto, inclusive o relacionamento?

//  CRIA A TABELA CLIENTES
private static final String DATABASE_CREATE_CLIENTES = "create table clientes ("idCliente integer primary key autoincrement, nome text, endereco text, telefone text, celular text, email text);";
	
//  CRIA A TABELA CARROS    
private static final String DATABASE_CREATE_CARROS = "create table veiculos (idVeiculo integer primary key autoincrement,     
idCliente integer,  idTipoVeiculo integer, modelo text, placa text, FOREIGN KEY (idCliente) REFERENCES clientes(idCliente);"; 
GOSTEI 0
Joel Rodrigues

Joel Rodrigues

28/06/2013

Teste e verifique se dá certo. Em teoria é isso sim.
Antes de perguntar se "seria", sugiro testar, pois já poupa um trabalhão.
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Ok, vou montar todos os scripts e ai testo lá. Perguntei pra seguir de modelo para as demais, pq se estiver certo, ja ganha tempo também.
GOSTEI 0
Frederico Brigatte***

Frederico Brigatte***

28/06/2013

Uma dúvida, é melhor deixar update e delete em cascata no script?

Exemplo:

//  CRIA A TABELA CARROS    
    private static final String DATABASE_CREATE_CARROS = "create table " + DATABASE_TABLE_CARROS + " ("    
    + KEY_ID_CARRO + " integer primary key autoincrement, "    
    + KEY_IDCLIENTE_CARRO + " integer, "    
    + KEY_IDTIPO_CARRO + " integer, "    
    + KEY_MODELO + " text, "    
    + KEY_PLACA + " text, FOREIGN KEY ( " + KEY_IDCLIENTE_CARRO    
    + " ) REFERENCES " + DATABASE_TABLE_CLIENTES + " (" + KEY_ID_CLI    
    + " ) ON DELETE RESTRICT ON UPDATE CASCADE , FOREIGN KEY ( "     
    + KEY_IDTIPO_CARRO + " ) REFERENCES " + DATABASE_TABLE_TIPO_CARRO + " ("     
    + KEY_IDTIPO_CARRO + " ) ON DELETE RESTRICT ON UPDATE CASCADE);"; 
GOSTEI 0
POSTAR