Duvida urgente! Scanner/Bd

4 respostas
magocebolinha

Pessoal

to om o seguinte problema/duvida:

fiz uma conexão com o banco (mysql) estou usando o NetBeans 5.5, tenhu alguns atributos e estou ultilizando a classe Scanner para Inserção de dados e eles estão sendo inseridos mas com um probleminha, quando digito palavras compostas, ele so manda pro banco a primeira palavra(isto quando uso o objetoScanner.next()) mas quando uso o nextLine() ele manda o que eu digitei para o proximo campo! e deixa o campo que era para ser preenchido em branco! enfim…

COMO FAÇO PARA ESCREVER UMA LINHA COMPOSTA E ESTA CHEGAR AO BANCO SEM PROBLEMAS?

valew!

4 Respostas

G

Boa tarde magocebolinha,

Cara, não entendi direito o seu problema não, mas teste este código aqui e veja se lhe dá uma luz de como resolver seu problema. qualquer coisa poste seu código para podermos dar uma olhada ok?

import java.util.Scanner;
public class Teste
{
	public static void main(String[] args)
	{
		Scanner scan = new Scanner(System.in);
		System.out.println("Digite seu texto");
		String texto = scan.nextLine();
		System.out.println(texto);
	}
}

Abraços

guilhermetonetto

posta o código.

[]'s

magocebolinha

bom... vou postar o codigo mas tenho conciência que ele pode ter erros alem do Scanner ateh por isso n postei ele antes...

meu raciocinio é o seguinte.. por enquanto quero um aplicativo pequeno onde eu digite os caracteres 'i' ou 'c' (inclusão) e (consulta) e eu possa efetuar as respectivas tarefas... conexão com o bco ja ta ok,estou tendo alguns problemas com este codigo, este que eu mencionei ai em cima se refere ao fato de eu n conseguir mandar linhas compostas para o banco com o nextLine()!!! começei a perceber que o nextLine estava fazendo com que a proxima linha que eu digitasse sempre ficasse em branco... do nada o erro mudou e o nextLine fez com o que no que eu digitasse cada espaço fizesse com que a tabela do banco reebesse o dado num campo diferente... sera que fui claro? tipo assim... digito:

"O contador de historias"

e la na tabela cada palavra fika em um campo... entendem? queria saber como posso mandar um texto composto para a tabela do banco... segue o codigo!

import java.util.Scanner;
import java.sql.*;

public class ScannerDvdBd {
    public static void main (String args[]) {
        
       Scanner item = new Scanner (System.in);
       
       System.out.println("Bem Vindo");
       System.out.println("Dgite i para inclusao de dados ou c para consulta dos dados existentes.");
       
       String operacao = item.next();
       int codigo    = item.nextInt();
       String titulo = item.nextLine();
       String estilo = item.nextLine();
       String duracao = item.nextLine();
       String produtora = item.nextLine();
       String sinopse = item.nextLine();
       String insert = "insert into dvdprincipal(codigo,titulo,estilo,duracao,produtora,sinopse) values (?,?,?,?,?,?)";
       String select = "select * from dvdprincipal where codigo like ?";
       
       
       
           
           if (operacao.equalsIgnoreCase("i")) {
           Connection con =  Bd.getConnection(); 
                try {
           PreparedStatement stmt = con.prepareStatement(insert);
           
           stmt.setInt(1,codigo);
           stmt.setString(2,titulo);
           stmt.setString(3,estilo);
           stmt.setString(4,duracao);
           stmt.setString(5,produtora);
           stmt.setString(6,sinopse);
           stmt.execute();
              } catch (Exception ex) {
                  System.out.println(ex.getMessage());
                  
              }
           
           } else if(operacao.equalsIgnoreCase("c") ) {
           
                Connection con =  Bd.getConnection();
                try{
           Statement stmt = con.createStatement();
           ResultSet rs = con.executeQuery("select * from dvdprincipal where codigo like ?");
           
           
               } catch (Exception ex) {
                  System.out.println(ex.getMessage());
               }
                
           } else {
               System.out.println("só são aceitos os caracteres c ou i!");
           }
       
    }
}
magocebolinha

alguém sabe responder??

Criado 1 de janeiro de 2008
Ultima resposta 3 de jan. de 2008
Respostas 4
Participantes 3