Blog TotalCross Blog TotalCross
  • INICIO BLOG
  • SOBRE
  • DOWNLOAD
  • CASES
  • NEGÓCIOS
    • Planos
    • Contato
  • DESENVOLVEDORES
    • Exemplos
    • Como Iniciar
    • Docs
    • Chave de Ativação
    • Changelog
    • JavaDoc
  • LOGIN
  •  Idioma: Português
    •  English
    •  Português
Vaneska Sousa
|
April 19, 2018
|
Banco de Dados | Desenvolvimento
1136
0

Como Fazer o CRUD com SQLite no Totalcross – Parte 3.

Durante essa série de posts, vamos aprender como configurar, incluir, alterar, excluir e consultar os dados (CRUD) no SQLite com o Totalcross.

Iniciamos esse passo-a-passo no nosso 9º Webinar e também já temos a parte 1 (Criando o Projeto) e a parte 2 (Criando uma tabela e inserindo dados) Então não esqueça de conferí-los e depois voltar para cá!

Recapitulando

Bom, até essa parte nós já criamos e configuramos todo o projeto, também já aprendemos a criar uma tabela e a inserir dados nela.

Agora vamos passa para o READ.

READ – Lendo os dados de uma tabela – com SQLite no Totalcross

Agora vamos criar uma metódo para ler os dados da tabela USERS, dentro da classe SQLiteManager:

public ArrayList<User> getUsers() {
  ArrayList<User> users = new ArrayList<>();
    try {
       Statement st = util.con().createStatement();
       ResultSet rs = st.executeQuery("SELECT * FROM USERS");
       while (rs.next()){
         User user = new User();
         user.setName(rs.getString("NAME"));
         user.setPhone(rs.getString("PHONE"));
         user.setMail(rs.getString("EMAIL"));
         user.setPassword(rs.getString("PASSWORD"));
         users.add(user);
       }
    }catch (SQLException e) {
      e.printStackTrace();
    }
    return users;
}

Seu código deve ficar como esse:

Read

E exibindo para o usuário…

Se você costuma acompanhar nosso canal no youtube, viu que os dois últimos videos foram sobre grid e isso não é por acaso, como vamos ver no passo-a-passo a seguir:

  • Passo 1 – Criando a Grid: Como já vimos no video, vamos criar nossa grid exatamamente como mostramos no video.
  • Passo 2 – Preencher a Grid: Nesse caso vamos mudar o que colocamos dentro do PressListener(), de forma que vamos fazer assim:
        loadButton.addPressListener(new PressListener() {
    	        @Override
    	        public void controlPressed(ControlEvent e)
    	        {        	
    	        	ArrayList users = SQLiteManager.getInstance().getUsers();        	
    	        	if (users.size() > 0) {	        	
    		        	String items[][] = new String[users.size()][3];	        	
    		        	for (int i = 0; i < users.size(); i++) {	        		
    		        		User user = users.get(i);	        		
    		        		items[i] =  new String[] {user.getName(), user.getPhone(), user.getMail()};	        		
    		        	}
    		            grid.setItems(items);	            
    	            } else {            	
    	            	MessageBox mb = new MessageBox("Message" , "No registered users.", new String[]{"Close"});
    		        	mb.setBackColor(Colors.BACKGROUND);
    		        	mb.setForeColor(Colors.FOREGROUND);
    		        	mb.popup();
    	            }
    	        }
    	    });
        }

 

Não se esqueça!

Não podemos esquecer de criar a classe Users, que é a classe da sua tabela de usuários no seu .SQLite e nela vai ter todos os parâmetros que equivalem as colunas. Vai ficar desse jeitinho:

 

 public class SQLiteManager {
	private static SQLiteManager instance = null;
	private SQLiteUtil util;
	
        private SQLiteManager() {
		try {
			util = new SQLiteUtil(Settings.appPath,"SQLiteExample.db");
			createUserTable();
		
                } catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
        public static SQLiteManager getInstance() {
		if(instance == null) {
			instance = new SQLiteManager();
		
                }
		return instance;
	}
	
        public void createUserTable() {
		try {	
			Statement st = util.con().createStatement();
			st.execute("CREATE TABLE IF NOT EXISTS USERS (
				   NAME VARCHAR(50), 
				   PHONE VARCHAR(15), 
				   EMAIL VARCHAR(20), 
				   PASSWORD VARCHAR(20))
				");
			st.close();	
		
                } catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
        public void deleteUser(String email) {
		try {
			Statement st = util.con().createStatement();
			st.execute("Delete from USERS where EMAIL = 'email' ");
			st.close();	
	
        	} catch (SQLException e) {
			e.printStackTrace();
		}
	}
	
        public Boolean insertUsers(User user) {
		Boolean success = true;
		try {
			String sql = "INSERT INTO USERS VALUES (?,?,?,?)";
			PreparedStatement st = util.con().prepareStatement(sql);	
			st.setString(1, user.getName());
			st.setString(2, user.getPhone());
			st.setString(3, user.getMail());
			st.setString(4, user.getPassword());	
			st.executeUpdate();
			st.close();	
	
         	} catch (SQLException e) {
			e.printStackTrace();
			success = false;
		}
		return success;
	}
	
        public ArrayList getUsers() {
		ArrayList users = new ArrayList<>();
		try {	
			Statement st = util.con().createStatement();
			ResultSet rs = st.executeQuery("SELECT * FROM USERS");	
			while (rs.next()){		
				User user = new User();
				user.setName(rs.getString("NAME"));
				user.setPhone(rs.getString("PHONE"));
				user.setMail(rs.getString("EMAIL"));
				user.setPassword(rs.getString("PASSWORD"));		
				users.add(user);		
			}
	
         	} catch (SQLException e) {
			e.printStackTrace();
		}
		return users;
	}
}

 



Bem, já aprendemos a criar a classe para fazer os principais chamados e agora aprendemos a inserir esses dados no nosso database. Se quiser ajuda com criação de interface, não esquece dar uma olhada nesse video!

Caso você esteja com dúvidas basta comentar aqui!

Post Views: 1

Comments

android aprender banco de dados basico conexão create crud database delete desenvolvedor java desenvolvimento mobile dev java facil insert ios java java developer Mobile read select sql SQLite TotalCross update webservice windows
share
Share

More articles

Mercado

As principais linguagens de programação para dev. mobile

January 16, 2019
2615
0
Mercado

Framework android: Descubra como ele pode facilitar o desenvolvimento de apps

January 4, 2019
1263
0
Desenvolvimento

Programação em Java: Tudo que um desenvolvedor profissional de Java precisa saber

January 3, 2019
468
0
Desenvolvimento

Dicas para aumentar o desempenho de seus aplicativos desenvolvidos

December 28, 2018
713
0
Teste Agora!
TotalCross
https://youtu.be/xBM4luqmCKs
Artigos recentes
  • As principais linguagens de programação para dev. mobile
  • Tendências para aplicativos em 2019
  • Framework android: Descubra como ele pode facilitar o desenvolvimento de apps
  • Programação em Java: Tudo que um desenvolvedor profissional de Java precisa saber
  • Dicas para aumentar o desempenho de seus aplicativos desenvolvidos