Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    22

    [JAVA] con sql

    package data;
    import java.sql.*;
    import java.util.*;


    public class DB
    {

    public DB()
    {
    }

    public boolean esegui(String command) throws Exception
    {

    // Questo metodo serve per le operazioni INSERT / UPDATE / DELETE
    try
    {

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbcdbc:betting";

    Connection connection=DriverManager.getConnection(url,"root", "xxxxx");

    Statement statement = connection.createStatement();

    int n = statement.executeUpdate(command);

    statement.close();
    return true;

    }
    catch(SQLException sqlEx)
    {
    System.out.println(sqlEx);

    }
    catch (ClassNotFoundException cnfEx)
    {
    System.out.println(cnfEx);

    }


    }

    public String query(String command)throws Exception
    {

    try
    {

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    String url="jdbcdbc:Personale";

    Connection connection=DriverManager.getConnection(url,"root", "xxxxx");


    Statement statement = connection.createStatement();

    ResultSet r = statement.executeQuery(command);
    if (r==null)
    {

    }
    StringBuffer s = new StringBuffer(); // a partire dal ResultSet
    ResultSetMetaData rmeta = r.getMetaData(); // costruisco il MetaData
    int numColumns=rmeta.getColumnCount();


    // Questo ciclo serve a stampare i nomi delle colonne

    for(int i=1;i<=numColumns;++i)
    {
    if(i<numColumns)
    s.append(rmeta.getColumnName(i)+" | ");
    else
    s.append(rmeta.getColumnName(i));
    }
    s.append("\n");


    // Questo ciclo per ogni riga stampa tutti i campi

    while(r.next())
    {
    for(int i=1;i<=numColumns;++i)
    {
    if(i<numColumns)
    s.append(r.getString(i)+" | ");
    else
    s.append(r.getString(i).trim());
    }
    s.append("\n");
    }

    }
    catch(SQLException sqlEx)
    {
    System.out.println(sqlEx);

    }
    catch (ClassNotFoundException cnfEx)
    {
    System.out.println(cnfEx);

    }
    return s;

    }
    }





    C:\data\DB.java:108: cannot resolve symbol
    symbol : variable s
    location: class data.DB
    return s;
    ^
    1 error

    Procedura completata con codice di uscita 1


    Perchè mi dà quest'errore????


    Grazie 1000

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Sistema l'indentatura del codice che fa schifo e usa il tag [*CODE] [*/CODE] senza asterischi per postare del codice.

    Poi, problemi: s è StringBuffer, il metodo ritorna una stringa... magari sarebbe meglio fare

    codice:
    return r.toString();
    Inoltre, definisci e inizializzi s all'interno del try e provi a ritornarlo al di fuori del try-catch dove "non è visibile".
    Prova a correggere la situazione così:

    codice:
    public String query(String command)throws Exception { 
      StringBuffer s = new StringBuffer(); // a partire dal ResultSet 
      try { 
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
        String url="jdbc:odbc:Personale"; 
        Connection connection=DriverManager.getConnectionurl,"root","xxxxx"); 
        Statement statement = connection.createStatement(); 
        ResultSet r = statement.executeQuery(command); 
        if (r==null) {  //scusa ma a che serve?
        }
        
        ResultSetMetaData rmeta = r.getMetaData(); // costruisco il MetaData
        int numColumns=rmeta.getColumnCount();
        // Questo ciclo serve a stampare i nomi delle colonne 
        for(int i=1;i<=numColumns;++i) { 
          if(i<numColumns) {
            s.append(rmeta.getColumnName(i)+" | "); 
          }
          else {
            s.append(rmeta.getColumnName(i));
          }
        }  
        s.append("\n");
       // Questo ciclo per ogni riga stampa tutti i campi 
       while(r.next()) { 
         for(int i=1;i<=numColumns;++i) { 
           if(i<numColumns) {
             s.append(r.getString(i)+" | "); 
           }
           else {
             s.append(r.getString(i).trim()); 
           }
         } 
         s.append("\n");
       } 
      }
      catch(SQLException sqlEx) { 
        System.out.println(sqlEx);
      }
      catch (ClassNotFoundException cnfEx) {
        System.out.println(cnfEx);
      }
      return s.toString(); 
    }
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    22
    ok grazie per il suggerimento!!

    Ora compila e la prossima volta metto anche per bene il codice

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    22
    codice:
    import Betting.*;
    import java.sql.*;
    import java.io.*;
    
    public class IEventoImpl extends IEventoPOA
    {
        public IEventoImpl (){
    		super();
    		}
    
    	public int aggiungi(String descrizione, String data, String orario, float uno, float x, float due, String risultato, String stato)
    	{
    		try {
    			String sqlcommand = "insert into evento values("+descrizione+","+data+","+orario+","+uno+","+x+","+due+","+risultato+","+stato+")";
    			System.out.println(sqlcommand);
    			DB sqlexec=new DB();
    	 		sqlexec.esegui(sqlcommand);
    
    
    		}
    		catch(Exception e){
    			System.err.println("System Exception in scommessa"+e);
    
    			}
    		return 0;
    	}
    .....................................
    .................................
    e mi da quest'errore qua
    codice:
    C:\data\IEventoImpl.java:18: cannot resolve symbol
    symbol  : class DB 
    location: class data.IEventoImpl
    			DB sqlexec=new DB();
    Perchè ciò???

    Grazie ancora!!!! Sto impazzendo con questi errori!!!!

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    dov'è la dichiarazione del package?
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    22
    Prima l'avevo messo e mi dava sempre lo stesso errore..l'ho tolto ed ancora mi dà lo stesso errore!!!

    Come dovrei fare??

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    Non sapendo come è organizzato il tuo package, non ne ho idea.

    Immagino:

    codice:
     -data
       |
       +- DB.java (package data;)
       |
       +- IEventoImpl (package data;)
    nel qual caso la dichiarazione di package ci va.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    22
    Sì, è così..come posso risolvere l'errore? non capisco quale sia la mancanza...

    Thanks

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.