Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1
    Utente bannato
    Registrato dal
    Sep 2006
    Messaggi
    179

    [java] java.util.Date()

    potreste dirmi perchè mi da questo errore....
    codice:
    C:\Documents and Settings\Nikynik\Desktop\Nuova cartella\Database\InserimentoDbMigliorato\src\inserimentodbmigliorato\InserimentoDb.java:92: cannot find symbol
    symbol  : class util
    location: package java
            stmt.setString(4, java.util.Date());
    1 error
    il codice è
    codice:
     String PreparedStatement=null;
            
            // Create Statement for query execution
            //Statement stmt = dbConnection.createStatement();
            String statement = "INSERT INTO script (frammento, tipologia, nome, dataEstrazione, scopo, provenienza, clientServer, freqUtilizzo)"+
                    "VALUES (?, ?, ?, ?, ?, ?, ?, ?)";        
            PreparedStatement stmt = dbConnection.prepareStatement(statement);
            stmt.setString(1, frammento);
            stmt.setString(2, tipo);
            stmt.setString(3, nome);
            stmt.setString(4, java.util.Date());
            stmt.setString(5, null);
            stmt.setString(6, null);
            stmt.setString(7, null);
            stmt.setString(8, null);
            stmt.executeUpdate();
            stmt.close();
            stmt.close();

  2. #2
    Utente bannato
    Registrato dal
    Sep 2006
    Messaggi
    179
    scusate... l'errore è
    codice:
    C:\Documents and Settings\Nikynik\Desktop\Nuova cartella\Database\InserimentoDbMigliorato\src\inserimentodbmigliorato\InserimentoDb.java:92: setString(int,java.lang.String) in java.sql.PreparedStatement cannot be applied to (int,java.util.Date)
            stmt.setString(4, new java.util.Date());
    1 error
    il codice invece
    codice:
    String PreparedStatement=null;
            
            // Create Statement for query execution
            //Statement stmt = dbConnection.createStatement();
            String statement = "INSERT INTO script (frammento, tipologia, nome, dataEstrazione, scopo, provenienza, clientServer, freqUtilizzo)"+
                    "VALUES (?, ?, ?, ?, ?, ?, ?, ?)";        
            PreparedStatement stmt = dbConnection.prepareStatement(statement);
            stmt.setString(1, frammento);
            stmt.setString(2, tipo);
            stmt.setString(3, nome);
            stmt.setString(4, new java.util.Date());
            stmt.setString(5, null);
            stmt.setString(6, null);
            stmt.setString(7, null);
            stmt.setString(8, null);
            stmt.executeUpdate();
            stmt.close();

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    setString vuole come parametri int,java.lang.String e tu gli hai passato int,java.util.Date.
    devi convertire la data in stringa

  4. #4
    Utente di HTML.it L'avatar di floyd
    Registrato dal
    Apr 2001
    Messaggi
    3,837
    o usare setTimestamp(int, Timestamp) se la colonna è di tipo timestamp

  5. #5
    Utente bannato
    Registrato dal
    Sep 2006
    Messaggi
    179
    grazie.... non mi ero accordo di aver scritto setString..... che stupido, mi è bastato modificare con setObject.
    potreste dirmi ora perchè non mi trova nulla nel gruppo 5 del matcher
    codice:
    String result = "";
            String script = "";
            String nome = "";
            String JavaScript="JavaScript";
            String PHP="PHP";
            String JSP="JSP";
            String ASP="ASP";
           
            File f = new File(dirPath);   //passo la directory da matchare
            
            if (f.isDirectory())
            {
                File files[] = f.listFiles();
                for (int i = 0; i < files.length; i++)
                {
                    String content = leggiContent(files[i], "iso-8859-1");             
                    String regex = "<SCRIPT.*?>(.*?)</SCRIPT>|" +   // Javascript/JScript/VBScript
                            "<\\?(?:php)?(.*?)\\?>|" +              // PHP
                            "<%.*?>(.*?)%>|" +                      // JSP                  
                            "<%.*?(%@)?(.*?)%>|" +                  // ASP
                            "<TITLE>(.*?)</TITLE>";                 // titolo pagina               
                    Pattern pattern = Pattern.compile(regex, Pattern.DOTALL | Pattern.CASE_INSENSITIVE);
                    Matcher matcher = pattern.matcher(content);
                    //regular expression per l'estrazione delle info dalle
                    //pagine
                    
                    while (matcher.find())
                       
                    {
                        
                        if ((script = matcher.group(1)) != null)
                        {
                            inserisci(dbConnection,script,JavaScript,nome);
                        } 
                        else if ((script = matcher.group(2)) != null)
                        {
                            inserisci(dbConnection,script,PHP,nome);
                        }
                        else if ((script = matcher.group(3)) != null)
                        {
                            inserisci(dbConnection,script,JSP,"");
                        }
                        else if ((script = matcher.group(4)) != null)                        
                        {
                            inserisci(dbConnection,script,ASP,"");
                        }
                        else if ((script = matcher.group(5)) != null)
                        {
                                System.out.println("ciao");
                        }
                        
                        
                    }
                }
                
            }
        }
    ho diviso le "regular expression" che richiamo con matcher.group(1)... e così via per gli altri
    sapreste dirmi perchè nell' if del 5° gruppo non entra?
    infatti non stampa nulla...

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2004
    Messaggi
    724
    prova a fara da 0 a 4 invece che 1 5

  7. #7
    Utente bannato
    Registrato dal
    Sep 2006
    Messaggi
    179
    ho provato perzem ma non funziona come dici tu.... va in "loop"...
    cmq
    ho notato che "meccia" se cosi si può dire, solo i primo 3 gruppi dal 4 i poi nn fa più nulla
    infatti ho provato a sostituire la 4^ riga del regex con la terza.... mi meccia fino alla num.3
    qualcuno sa dirmi perchè?

  8. #8
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nikynik
    grazie.... non mi ero accordo di aver scritto setString..... che stupido, mi è bastato modificare con setObject.
    potreste dirmi ora perchè non mi trova nulla nel gruppo 5 del matcher
    Occhio che nella parte di regex per gli script ASP hai 2 gruppi "catturati".

    codice:
    <%.*?(%@)?(.*?)%>
          ^^   ^^^
          4    5
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  9. #9
    Utente bannato
    Registrato dal
    Sep 2006
    Messaggi
    179
    scusa mi spiegheresti come funzionano i gruppi... nel senso in che modo capisci cosa viene catturato in una regular espression
    perchè a questo punto anche
    "<\\?(?hp)?(.*?)\\?> dovrebbe catturare 2 gruppi
    ^^ ^^ .....o no?

  10. #10
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da nikynik
    scusa mi spiegheresti come funzionano i gruppi... nel senso in che modo capisci cosa viene catturato in una regular espression
    perchè a questo punto anche
    "<\\?(?hp)?(.*?)\\?> dovrebbe catturare 2 gruppi
    ^^ ^^ .....o no?
    Per iniziare, la tabella con tutte le espressioni regolari utilizzabili in Java la trovi qui. Non dico che devi saperla a memoria e nemmero capire tutti i vari costrutti (neanche io li so a memoria e non li conosco tutti) ma almeno avere una idea di massima su cosa si può fare.

    C'è un costrutto speciale e lo spiega bene:
    codice:
    (?:X)    X, as a non-capturing group
    Quindi è un raggruppamento ma senza essere catturato.

    Usando la classe Matcher, puoi prendere i vari gruppi catturati con group(indice). I gruppi sono indicizzato da sinistra verso destra partendo da 1. Il gruppo 0 denota l'intero pattern.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

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.