Scanner / BD [RESOLVIDO]

4 respostas
pedroroxd

Pessoal, tenhum um jTextArea que fica pegando os dados do banco de dados (vc posta algo no banco de dados, e ele fica puxando dentro do txtarea)...
Ae eu quero que a pessoa possa deletar a linha X do jTextArea, que vai apagar do banco de dados junto.

Olha o que eu fiz:
Scanner scan = new Scanner(txtDialog.getText());
   String linha = scan.nextLine(); 
//AKI A LINHA TERIA QUE RECEBER O NÚMERO QUE ESTÁ ESCRITO NO jTextField1 (Ex.: 1), E PEGAR O QUE ESTÁ ESCRITO NA LINHA (NO CASO 1) DO jTextArea.


     int quantos = linha.length();
     String frase = linha.substring(0,quantos);

/////AKI COMEÇA PARA DELETAR DO BANCO DE DADOS.
   ConectaBanco k = new ConectaBanco();
   Connection conec = null;
        try {
             conec = k.conecta();
             Statement stmt = conec.createStatement();
             String sql2 = "Delete from pedidosrest where oqpediu = '"+frase+"'";
             stmt.executeUpdate(sql2);
             jButton3.doClick();
        } catch (ClassNotFoundException ex) {
            Logger.getLogger(FrameChat.class.getName()).log(Level.SEVERE, null, ex);
        } catch (SQLException ex) {
            Logger.getLogger(FrameChat.class.getName()).log(Level.SEVERE, null, ex);
        }
        scan.close();
Assim, ele apaga a linha 1 (sempre a linha1) do jTextArea e do banco de dados... Como posso fazer para ele apagar a linha determinada pela pessoa? int linhaparaapagar = Integer.parseint(jTextField1.gettext()); Assim ele vai pegar a linha que a pessoa deseja deletar.. e depois disso?

4 Respostas

G

faz isso

String[] b;
while (scan.hasNext()) {
					linha = scan.nextLine();
						b[]= linha;
											
				}

tipo isso =)

pedroroxd

Opa...
To xegando lá:

Scanner scan = new Scanner(txtDialog.getText());
   String linha = scan.nextLine();

   int y = 0;
    String[] b = new String [60];
   while (scan.hasNext()) {
                           b[y]= linha;                       
                           System.out.println("Posição " + y + " " + b[y] );
                           y++;
                           linha = scan.nextLine();                       
                   }

     int linhaparaapagar = Integer.parseInt(jTextField1.getText());
     String fraserox = b[linhaparaapagar -1]; //frase que vai deletar
Ele funciona direitnho... se eu digitar por exemplo 3, ele deleta a frase que está na linha 3. O grande problema, é que se tiver por ex 10 linhas no txtarea, se eu colocar para deletar a linha 10, ele não deleta. (a última linha não dá pra deletar). Se tiver uma única linha também não deleta....
G
pedroroxd:
Opa... To xegando lá:
Scanner scan = new Scanner(txtDialog.getText());
   String linha = scan.nextLine();

   int y = 0;
    String[] b = new String [60];
   while (scan.hasNext()) {
                           b[y]= linha;                       
                           System.out.println("Posição " + y + " " + b[y] );
                           y++;
                           linha = scan.nextLine();                       
                   }

     int linhaparaapagar = Integer.parseInt(jTextField1.getText());
     String fraserox = b[linhaparaapagar -1]; //frase que vai deletar
Ele funciona direitnho... se eu digitar por exemplo 3, ele deleta a frase que está na linha 3. O grande problema, é que se tiver por ex 10 linhas no txtarea, se eu colocar para deletar a linha 10, ele não deleta. (a última linha não dá pra deletar). Se tiver uma única linha também não deleta....

inverte
linha = scan.nextLine(); 
b[y]= linha;                       
                           System.out.println("Posição " + y + " " + b[y] );
                           y++;
pedroroxd

Vlws !

Criado 7 de outubro de 2009
Ultima resposta 7 de out. de 2009
Respostas 4
Participantes 2