Salve,

ho un problema col settaggio a null di un parametro di un PreparedStatement. So che devo usare il metodo setNull(index,columnType) ma ho problemi a passare il tipo della colonna corrispondente. Mi spiego meglio. Utilizzando getParameterMetaData() della classe PreparedStatement vorrei prelevare il tipo della colonna. Ma mi viene generata l'eccezione: java.sql.SQLException: Parameter metadata not available for the given statement.

Posto il codice che ho scritto:

Codice PHP:
public boolean executeUpdate(String queryObject[] parameters){
        
int result=0;
        try{
            
PreparedStatement pstmt conn.prepareStatement(query);
            
ParameterMetaData tableParamInfo pstmt.getParameterMetaData();
            for(
int i=1;i<=parameters.length;i++){
                
                if(
parameters[i-1]==null)
                        
pstmt.setNull(i,tableParamInfo.getParameterType(i));
                else{
                    
//...
                    //...altre operazioni
                    //...
                
}
            }
                
            
result=pstmt.executeUpdate();
          
        }catch(
Exception ex){
            
ex.printStackTrace();
        }
        
        if(
result==0)
            return 
false;
        else
            return 
true;
    } 
Uso MySql 5.0 (connector 5.1.5)

Grazie.