CRUD GERAL E LOGIN. Sumário

Documentos relacionados
MONTANDO UMA CONSULTA COM FILTROS. Vamos criar uma tela que gere uma relação de dados, escolhendo a ordenação e um filtro.

AULA APLICAÇÕES PARA WEB SESSÕES E LOGIN E SENHA

Como criar um banco de dados usando o mysql

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

Construindo um sistema simples de cadastro de fornecedores em PHP e MySQL.

TRABALHO FINAL 20 Pontos

Desenvolvimento de Aplicações para Internet Aula 6

22/05/2012 CRIANDO UM PROJETO COM TELAS ESTRUTURA DA APLICAÇÃO LOGIN BANCO DE DADOS TAREFAS PHP MYSQL PARTE 2

Recursos Complementares (Tabelas e Formulários)

CRUD GERAL E LOGIN Sumário

Técni n c i as e L i L n i g n u g age g ns n p ara r Ba B nc n o d e D ados I ACCESS

UFG - Instituto de Informática

SISTEMA GERENCIAMENTO DE PRODUTOS PHP E MySQL 1. APRESENTAÇÃO

FMH Mestrado Gestão do Desporto Sistemas de Informação

Tutorial Cold Fusion Módulo 2 Cold Fusion Brasil -

Conectando com um banco de Dados

JAVAWEB AULA 2 Prof. Daniela Pires Sumário

Bases de Dados. Lab 7: Desenvolvimento de aplicações com PHP

Desenvolvimento de Sistemas Web Prof. Leandro Roberto. Aula 18 JavaScript: Eventos MySQL PHP (insert, update e delete)

Java Básico JDBC. Razer Anthom Nizer Rojas Montaño Banco de Dados: JDBC

Internet e Programação Web

Preparação criar tabela. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 12/11/2018

AULA 8. Ambientes Visuais 8.1. OBJETIVO DA AULA SQL (Structured Query Language)

Sessão e inclusão de arquivos no PHP

Curso: Desenvolvimento Java

cadastro de usuários utilizando Ajax e PHP para inserir os dados em uma tabela MySQL.

AULA 8 CRIANDO UMA CLASSE EM PHP INTERAGINDO COM BANCO DE DADOS - COM RELACIONAMENTO ENTRE TABELAS

Web Design Aula 10: Formulários - Parte2

crudgenerator Passos slimphp/extra/crudgenerator/view/index_view.php A tela abaixo m ostra o p rimeiro passo

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

DDL DML DCL DTL Tipos Numéricos: INT FLOAT DOUBLE Tipos String: CHAR VARCHAR BINARY BLOB TEXT Tipos Data e Hora: DATE TIME TIMESTAMP YEAR

Programação WEB (JSP + Banco Dados) Eng. Computação Prof. Rodrigo Rocha

PROJETOS EXEMPLO DE ASP.NET MVC

Aplicação MVC + Entity + MySQL

Java & Bancos de Dados Adaptado de Slides da Universidade Salgado de Oliveira Goiânia

LAB 7 Cookies e Sessões em PHP

Programando em SQL. Triggers, Stored Procedures e funções. Profa. Késsia Marchi

PROGRAMAÇÃO ORIENTADA A OBJETOS. Aula 09a- Acessando os dados através JDBC

MANUAL DE PUBLICAÇÃO NO PORTAL CAMPUS MATÃO

Preparação. Linguagem de Manipulação de Dados (DML) Estudo Dirigido 10/12/2013

Método de Acesso e Integração da Biblioteca Virtual V.1.2 Pearson Sistemas Brasil

Banco de Dados I Introdução SQL

Manipulação de Dados com SQL

Formulários são áreas onde se inserem campos que permitem uma troca de informações maior entre usuários e desenvolvedores de sites HTML Até o momento,

JDBC. Prof. Márcio Bueno

Autoria Web. Professor: Diego Oliveira. Conteúdo 03: Tags de Formulário

Banco de Dados. Professora: Luciana Faria

De forma simples, para a execução de comandos SQL com JDBC, precisa-se da instancia de três classes Java. São elas: Nome da classe Função


Desenvolvimento de Aplicações para Internet Aula 5

HTML Parte III. André Tavares da Silva.

Este exercício será parecido com a montagem de um projeto real, onde trabalhamos com vários arquivos XHTML e um único arquivo CSS.

C A P I T U L O 10 F U N Ç Õ E S I N T E R N A S P H P P A R A B A N C O D E D A D O S

Autoria Web. Formulários Aula 5. Cleverton Hentz

Revisando sintaxes SQL e criando programa de pesquisa. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Flávio Dantas

Banco de Dados. -Aprendendo conceitos -Usando o SQL Conf para: -Conectar no banco de dados -Criar, alterar, excluir e consultar estruturas de tabelas

IMPLEMENTAÇÃO DE BANCO DE DADOS

Java - Conexão ao Banco de Dados usando JDBC

Criando um site de Notícias - com Administração de Dados

ACESSO AO BANCO DE DADOS PARTE 2 ALTERAÇÃO, EXCLUSÃO E INCLUSÃO DE REGISTROS

Many-to-many. Mapear no Context Na classe Context.cs, dentro do método OnModelCreating, adicionar o trecho

Disciplina: Banco de Dados Tema: SQL Parte 2

Faculdades Network Bacharelado em Sistemas de Informação Tópicos Avançados. Aulas 25 e 26 Exemplo de Aplicação usando JSP e MySQL

Programação WEB II. PHP e Banco de Dados. progweb2@thiagomiranda.net. Thiago Miranda dos Santos Souza

HTML: FORMULÁRIOS SUMÁRIO. Conceito Tag FORM Tag INPUT Tag BUTTON Tag TEXTAREA Tag SELECT

6. Introdução à Linguagem PHP

Oracle Universal Content Management Workshop Remoto

26/04/2017 Triggers no SQL Server: teoria e prática aplicada em uma situação real

A U L A 3 S U B G R U P O S D M L E D Q L : I N S E R I N D O E P E S Q U I S A N D O D A D O S E M U M A T A B E L A

Trabalhando com conexão ao banco de dados MySQL no Lazarus. Prof. Vitor H. Migoto de Gouvêa Colégio IDESA 2011

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DO RIO GRANDE DO NORTE INTRODUÇÃO A SQL

FTIN FORMAÇÃO TÉCNICA EM INFORMÁTICA. Módulo de Programação Prof. Bruno Maciel

Cadastros de dados no MySQL

Desenvolvimento em Ambiente Web. Prof. André Y. Kusumoto

Conceitos de Orientação a Objetos

Lista de exercícios I - RESPOSTAS Servlets e banco de dados

JAVA COM BANCO DE DADOS PROFESSORA DANIELA PIRES

A linguagem SQL

Fundamentos de Banco de Dados Postgre com Sql

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

13 Conectando PHP com MySQL 13.1 Introdução

JDBC. Siga as instruções para instalar o banco de dados H2 e criar a tabela Alunos.

Basicamente iremos precisar de uma base de dados na qual iremos armazenar os registros feitos pelos vistantes: Vamos armazenar os seguintes dados:

HyperText Markup Language HTML. Formulário

Manipulação de Banco de Dados com Java. Ms. Bruno Crestani Calegaro Maio/ 2015

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS ARMAZENAMENTO EM BD NO DM. Prof. Angelo Augusto Frozza, M.Sc.

Capítulo 4. Programação em ASP

Formulários [8] Desenvolvimento e Design de. Websites. Prof.: Ari Oliveira

Aula 1 Acesso a Banco de Dados

Acesso a Bancos de Dados em Java (JDBC)

Desenvolvimento de Aplicações para Internet

GUIA PHP com MYSQL Autor: Everton Mendes Messias

JDBC (Java Database Connectivity) Padrão de Projeto DAO (Data Access Object) Roteiro para instalação do banco de dados e do driver JDBC

Lista 02 Sistema de Banco de Dados CAP 241 Computação Aplicada I

Banco de dados 1. Linguagem SQL DDL e DML Parte 2. Professor: Victor Hugo L. Lopes

Programação para Internet I

O que faz um servidor/navegador web? 14/03/2016 Rômulo da Silva Lima Slid e 2

Aula Prática JBCD - Introdução

Transcrição:

Sumário CRUD... 2 O que é CRUD?... 2 Criando as classes que fazem parte do CRUD... 2 Busca Dados Geral... Erro! Indicador não definido. Insert Geral... 3 Update Geral... Erro! Indicador não definido. Delete Geral... 6 Recuperar ID do último registro inserido... Erro! Indicador não definido. Lista Geral... Erro! Indicador não definido. Construindo um arquivo de CRUD, exemplo crudnoticia.jsp... Erro! Indicador não definido. 1

CRUD Uma área administrativa compreende em áreas para gerenciar conteúdos que existem no banco de dados, no nosso projeto temos duas tabelas no banco de dados, TEXTOS e NOTICIAS. Então iremos criar nesse capítulo um CRUD que atenda a todas as áreas administrativas internas, com isso, você sozinho conseguirá fazer o da tabela de usuários que terá acesso a esse site. O que é CRUD? Mas falamos de CRUD, o que seria um CRUD? Consiste numa única aplicação que LISTE, INSERA, ALTERE e EXCLUA registros no banco de dados. A abreviação CRUD mapeada para o padrão ISO/SQL é: Create INSERT Retrieve (Read) SELECT Update UPDATE Destroy (Delete) DELETE Ou seja, nessa aplicação teremos as seguintes instruções SQL: SELECT, INSERT, UPDATE e DELETE. Sendo assim, o SELECT será a listagem dos registros paginados, algo que já fizemos anteriormente. O INSERT será inserção de registros no banco de dados através de um formulário. O UPDATE será alteração desses registros no banco de dados também através de um formulário. E o DELETE será a exclusão desse registro no banco de dados. Criando as páginas que fazem parte do CRUD Crie uma pasta que irá abrigar o CRUD da tabela que for trabalhar. Exemplo notícias. Dentro dela tem que ter 4 arquivos. Index.jsp = responsável por listar os registros da tabela e dar acesso para o cadastro, alteração e exclusão do registro. Cadastra.jsp = responsável por cadastrar no banco de dados altera.jsp = responsável por alterar o registro no banco de dados excluir.jsp = responsável por excluir o registro no banco de dados 2

I NDEX.JSP Nesse arquivo iremos listar os registros para alteração e exclusão e também teremos o botão incluir. Segue abaixo o script detalhado String content = "";//cria variável contente que ira armazenar a lista content = "<h2>notícias</h2>"; content += "<div align=\"center\"><input type=\"button\" class=\"botoes\" value=\"cadastrar\" onclick=\"location.href='cadastra.jsp'\" /></div>"; //codigo acima referente ao botão de incluir registros ele aponta para o arquivo de inserção de dados content += "<table width=\"100%\" border=\"0\">"; content += "<tr>"; content += "<th>titulo</th>"; content += "<th></th>"; content += "<th></th>"; content += "</tr>"; //código acima cria a estrutura da tabela rs = statement.executequery("select * FROM noticia order by not_id DESC"); //código acima é uma string do banco de dados String zebra = "zebra1"; while (rs.next()) { if(zebra == "zebra1"){ zebra = "zebra2"; }else{ zebra = "zebra1"; } // esse script acima, visa listar os dados zebrado 3

content += "<tr>"; content += "<td class=\""+zebra+"\">" + rs.getstring("not_titulo")+ "</td>"; content += "<td class=\""+zebra+"\"><a href=\"altera.jsp?not_id=" + rs.getint("not_id")+ "\">Alterar</a></td>"; content += "<td class=\""+zebra+"\"><a href=\"excluir.jsp?not_id=" + rs.getint("not_id")+ "\">Excluir</a></td>"; content += "</tr>"; //esse trecho é responsável por listar os registros e criar o link para o arquivo de alteração e exclusão } //saio do loop e fecho a tabela content += "</table>"; rs.close(); %> <%@ include file="/template/admin.html" %> //incluo o template CADASTRA.JSP Nesse arquivo iremos construir dois trechos de script, a primeira parte onde o tem o formulário e depois a inserção no banco de dados. Ao clicar no botão de cadastrar irá para o formulário abaixo. Esse formulário estará dentro da pasta templates, e terá variáveis no value de cada campo que no cadastro serão vazias e na alteração virão preenchidas. Portanto é necessário declarar variável por variável tanto no cadastra quanto no altera. Segue o código comentado: <%@ include file="/inc/conecta.jsp" %> <% //abaixo declaramos variaveis por variaveis do banco de dados String content = ""; String not_titulo = ""; String not_subtit = ""; 4

String not_data = ""; String not_texto = ""; String not_fonte = ""; String not_key = ""; String cod = "cadastra";//atribuo valor ao cod que fará formulário funcionar tanto para inserir quanto alterar int not_id = 0; if(request.getparameter("cod")!=null ) { /*verifico se a variavel cod foi passada na URL, se sim Crio a string sql que irá inserir os registros no banco de dados Depois preparo a string para inserção no banco através de preparestatement e executeupdate() */ String sql = "insert into noticia (not_titulo,not_subtit,not_data,not_texto,not_fonte,not_key) VALUES ('"+request.getparameter("not_titulo")+"','"+request.getparameter("not_subt it")+"','"+request.getparameter("not_data")+"','"+request.getparameter("not _texto")+"','"+request.getparameter("not_fonte")+"','"+request.getparameter ("not_key")+"')"; PreparedStatement st = connection.preparestatement(sql); st.executeupdate(); //as linhas abaixo sao para redirecionar para a lista String site = new String("index.jsp"); response.setstatus(response.sc_moved_temporarily); response.setheader("location", site); statement.close(); } %> //inclui template de formulário <%@ include file="/template/cadnoticia.html" %> ALTERA.JSP Assim que clicar em alterar na lista entrará no formulário já preenchido com os dados do banco de dados, como mostra a figura abaixo. 5

Assim como o arquivo de inserção iremos construir dois trechos de script, a primeira parte onde o tem o formulário e depois a alteraçãono banco de dados. Ao clicar no botão de cadastrar irá para o formulário abaixo. Repare que o script abaixo é bem similar ao script da inserção, porém construindo a instrução updade no banco de dados. Veja abaixo como são os mesmos princípios com pequenas alterações. String content = ""; String not_titulo = ""; String not_subtit = ""; String not_data = ""; String not_texto = ""; String not_fonte = ""; String not_key = ""; String cod = ""; int not_id = 0; if(request.getparameter("cod")!=null ) { //até aqui os scripts são indenticos, somente abaixo a query de update String sql = "UPDATE noticia SET not_titulo='"+request.getparameter("not_titulo")+"',not_subtit='"+request.g etparameter("not_subtit")+"',not_data='"+request.getparameter("not_data")+" ',not_texto='"+request.getparameter("not_texto")+"',not_fonte='"+request.ge tparameter("not_fonte")+"',not_key='"+request.getparameter("not_key")+"' WHERE not_id='"+request.getparameter("not_id")+"'"; PreparedStatement st = connection.preparestatement(sql); st.executeupdate(); String site = new String("index.jsp"); response.setstatus(response.sc_moved_temporarily); response.setheader("location", site); statement.close(); //nesse script temos o else }else{ 6

//que ira criar variaveis com a consulta abaixo do banco de dados, por isso o formulário vem preenchido rs = statement.executequery("select * FROM noticia where not_id='"+request.getparameter("not_id")+"'"); rs.next(); not_titulo = rs.getstring("not_titulo"); not_subtit = rs.getstring("not_subtit"); not_data = rs.getstring("not_data"); not_texto = rs.getstring("not_texto"); not_fonte = rs.getstring("not_fonte"); not_key = rs.getstring("not_key"); not_id = rs.getint("not_id"); cod = "altera"; } %> <%@ include file="/template/cadnoticia.html" %> Formulário de Inserção e Alteração Num único formulário dá para fazer a inserção e alteração segue abaixo o script explicado. A variável COD irá definir se será alteração ou cadastro. Todos os campos tem VALUE preenchido com as variáveis declaradas, dessa maneira se o formulário for de cadastro as variáveis vem vazias, alteração preenchidas. E um último campo do tipo HIDDEN com o ID do registro a ser alterado e caso seja inserção virá com o valor 0. <form action="<%= cod %>.jsp?cod=<%= cod %>" method="post"> <fieldset> <label>título:</label> <input type="text" id="not_titulo" name="not_titulo" value="<%=not_titulo%>" size="50" class="campos" /><br /> <label>sub-titulo:</label> <input type="text" id="not_subtit" name="not_subtit" value="<%=not_subtit%>" class="campos" size="50" /><br /> <label>data:</label> <input type="text" id="not_data" name="not_data" size="12" value="<%=not_data%>" mexlength="12" /> <br /> <label>texto:</label> <textarea name="not_texto" id="not_texto" cols="50" rows="5" class="campos"><%=not_titulo%></textarea><br /> <label>fonte:</label> <input type="text" id="not_fonte" name="not_fonte" class="campos" value="<%=not_fonte%>" size="50" /><br /> <label>palavras-chaves:</label> <input type="text" id="not_key" name="not_key" value="<%=not_key%>" class="campos" size="50" /><br /> <input type="hidden" name="not_id" value="<%=not_id%>" /> <label></label> <input type="submit" value="enviar" class="botoes" /> </fieldset> 7

</form> DELETE.JSP Ele é muito parecido com os scripts de inserir e alterar, porém não tem a parte do formulário. Veja o script abaixo: int not_id; //string sql de exclusão do registro no banco de dados String sql = "delete from noticia WHERE not_id='"+request.getparameter("not_id")+"'"; out.println(sql); PreparedStatement st = connection.preparestatement(sql); st.executeupdate(); String site = new String("index.jsp"); response.setstatus(response.sc_moved_temporarily); response.setheader("location", site); statement.close(); Pronto com esses 4 passos teremos um CRUD da tabela notícias. 8