Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    38

    Problema mysql : Column count doesn't match value count at row 1

    Ciao ragazzi sto diventando matto con questo errore mi potete dare una mano?
    Come si evince dal titolo uso MYSQL e l'errore è questo:

    GRAVE: error writing pressure to database java.sql.SQLException: Column count doesn't match value count at row 1

    Il codice per l'inserimento è questo:
    codice:
     try {
    			c = DriverManager.getConnection(config.getJDBCDatabase(), config
    					.getJDBCUsername(), config.getJDBCPassword());
    			presIns = c.prepareStatement("INSERT INTO Pressure VALUES (?,?)");
    			presSel = c.prepareStatement("SELECT * FROM  WHERE Pressure time > ?");
    
    			// initialise object with most recent values from database
    			Statement s = c.createStatement();
    			s.execute("SELECT * FROM Pressure ORDER BY TIME DESC LIMIT 1");
    			ResultSet rs = s.getResultSet();
    
    			if (rs.next()) {
    				pressure = rs.getDouble(1);
    				time = rs.getTimestamp(2).getTime();
    			} else {
    				pressure = 0.0;
    				time = 0; // the epoch
    			}
    		} catch (SQLException e) {
    			logger.log(Level.SEVERE,"Critical Database error while initialising Pressure Object "+ e);
    			System.exit(-1);
    		}
    ....
    boolean update(double p, long recordTime) throws SQLException {
    
    		if (recordTime < time) {
    			return false;
    		}
    
    		presIns.setDouble(1, seaLevelPressure(p));
    		presIns.setTimestamp(2, new java.sql.Timestamp(recordTime));
    		presIns.execute();
    
    		return true;
    	}

    NOn riesco a risolverlo mi potete aiutare?????

  2. #2
    Probabilmente è questa:
    INSERT INTO Pressure VALUES (?,?)

    La tabella Pressure ha solo due campi?

    Se no dovrebbe essere:
    INSERT INTO Pressure (colonna 1, colonna 2) VALUES (?,?)

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    38
    La tabella Pressure naturalmente è formata dal idpressure ma l'ho messo auto increment quindi non penso debba essere inserito, dal valore pressure che è un double e da un valore TIME che è timestemp.
    Allora dici che è l'insert???
    Cmq ho provato a dargli i campi e mi da sempre l'errore...

  4. #4
    ciao,
    non devi dargli tutti i campi, devi solo dargli i campi che poi gli passi effettivamente.
    Ad esempio se la tua tabella composta da dieci campi, ma tu vuoi inserire solo il campo 5 e il campo 9 devi fare

    insert into <tabella> (campo5,capo9) VALUES ('valore5','valore9');

  5. #5
    A guardare il codice e l'errore, sembra la INSERT.

    Esatto, non devi mettere l'id se è auto increment.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2009
    Messaggi
    38
    ok dovrei aver risolto...se vengono fouri altri problemi vi disturberò

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.