Kandrade 7 Denunciar post Postado Agosto 2, 2009 Para entender esse tutorial é necessária a leitura da primeira parte encontrada nesse mesmo fórum. Precisamos criar um database chamado db_meusClientes. Para isso abra o MS Sql Server Management Studio, conecte em seu servidor, click com o botão direito em Databases, escolha new Database... Preencha o campo Database name com: db_meusClientes e click no botão ok. Com o Database criado precisamos criar uma tabela chamada tb_cliente como os seguintes campos: id_cliente -> bigint nome -> varchar(255) endereco -> varchar(255) telefone -> varchar(50) Criei o script para quem quiser executar mais rapidamente: USE [db_meusClientes] GO /****** Object: Table [dbo].[tb_cliente] Script Date: 08/02/2009 12:42:19 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO SET ANSI_PADDING ON GO CREATE TABLE [dbo].[tb_cliente]( [id_cliente] [bigint] IDENTITY(1,1) NOT NULL, [nome] [varchar](255) NOT NULL, [endereco] [varchar](255) NOT NULL, [telefone] [varchar](50) NOT NULL, CONSTRAINT [PK_tb_cliente] PRIMARY KEY CLUSTERED ( [id_cliente] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] GO SET ANSI_PADDING OFF GO Agora vamos inserir um cliente em nosso banco. Segue o código abaixo: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.SQLException; /** * * @author kandrade */ public class InsereCliente { public static void main(String[] args){ try { // recebe uma conexao da nossa fabrica Connection c = ConnectionFactory.getConnection(); // monta a sql String query = "INSERT INTO tb_cliente (nome,endereco,telefone) VALUES(?,?,?)"; PreparedStatement pstmt = c.prepareStatement(query); // um cliente pstmt.setString(1, "Joao da Silva"); pstmt.setString(2, "Rua Paraguai N. 1093"); pstmt.setString(3, "(11)333-3333"); pstmt.execute(); pstmt.close(); System.out.println("Cliente gravado com sucesso!"); c.close(); } catch (SQLException ex) { ex.printStackTrace(); } } } Para listar todos os clientes: import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; /** * * @author kandrade */ public class ListaClientes { public static void main(String[] args){ try { // Connection c = ConnectionFactory.getConnection(); // String query = "SELECT *FROM tb_cliente"; PreparedStatement pstmt = c.prepareStatement(query); ResultSet rs = pstmt.executeQuery(); while(rs.next()){ System.out.println("Cliente: " + rs.getString("nome")); System.out.println("Endereco: " + rs.getString("endereco")); System.out.println("Telefone: " + rs.getString("telefone")); System.out.println(); } } catch (SQLException ex) { ex.printStackTrace(); } } } Vamos agora criar um JavaBean para essa tabela. Esse Bean será muito útil para a classe que criaremos a seguir. JavaBeans são classes que possui apenas o construtor padrão e os métodos set e get para seus respectivos atributos. Uma definição mais precisa pode ser encontrada aqui: http://en.wikipedia.org/wiki/JavaBeans A classe JavaBean ficará assim: /** * * @author kandrade */ public class Cliente { private Long id; private String nome; private String endereco; private String telefone; /** * @return the id */ public Long getId() { return id; } /** * @param id the id to set */ public void setId(Long id) { this.id = id; } /** * @return the nome */ public String getNome() { return nome; } /** * @param nome the nome to set */ public void setNome(String nome) { this.nome = nome; } /** * @return the endereco */ public String getEndereco() { return endereco; } /** * @param endereco the endereco to set */ public void setEndereco(String endereco) { this.endereco = endereco; } /** * @return the telefone */ public String getTelefone() { return telefone; } /** * @param telefone the telefone to set */ public void setTelefone(String telefone) { this.telefone = telefone; } } No próximo tutorial irei explicar alguns métodos utilizados acima e faremos uma classe que intermediará o acesso ao banco de dados. Essa classe vai fazer um bom uso do Bean aqui criado. Vamos aguardar! Compartilhar este post Link para o post Compartilhar em outros sites
Pedroalves 1 Denunciar post Postado Julho 1, 2010 este codigo so me permite inserir um dado de cada vez é que eu estou a fazer um trabalho da escola que é um programa de gestao de stocks eu tenho uma parte do pograma que é a parte de facturação onde eu so estou a conseguir por um so produto por cada factura e gostaria que me ajudassem a por mais do que um Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Julho 1, 2010 Crie uma classe com toda a loógica de banco (DAO) inclusive a de inserção. método de inserção: // obtem conexao com o banco String query = "INSERT INTO tb_cliente (nome,endereco,telefone) VALUES(?,?,?)"; PreparedStatement pstmt = c.prepareStatement(query); // um cliente pstmt.setString(1, cliente.getNome()); pstmt.setString(2, cliente.getEndereco()); pstmt.setString(3, cliente.getTelefone()); pstmt.execute(); pstmt.close(); System.out.println("Cliente gravado com sucesso!"); // fecha conexao Onde cliente neste caso é um objeto (uma instancia de) Cliente que deve ser recebido pelo método. Depois disso, sempre que quiser inserir é só preencher o objeto e passar para esse método que o insere no banco. Quer inserir vários? Como vai obter os valores a serem iseridos? Em 01/07/2010 at 19:21, 'Pedroalves' disse: eu tenho uma parte do pograma que é a parte de facturação onde eu so estou a conseguir por um so produto por cada factura e gostaria que me ajudassem a por mais do que um Compartilhar este post Link para o post Compartilhar em outros sites
Pedroalves 1 Denunciar post Postado Julho 2, 2010 segue-se o link para ser mais facil de verem qual é minha duvida http://img707.imageshack.us/img707/7315/exemplon.png Compartilhar este post Link para o post Compartilhar em outros sites
Kandrade 7 Denunciar post Postado Julho 13, 2010 Voce tentou fazer o que eu te disse? O que aconteceu? Compartilhar este post Link para o post Compartilhar em outros sites
Pedroalves 1 Denunciar post Postado Agosto 25, 2010 o meu problema a insirir dados varios dados atravez de uma tabela se utilizar o textfield consigo mas não estou a conseguir é atravez da utilização da tabela Compartilhar este post Link para o post Compartilhar em outros sites