Share via


Utilizzo dei metadati dei parametri

Per eseguire una query su un oggetto SQLServerPreparedStatement o SQLServerCallableStatement per recuperare i parametri in esso contenuti, il driver JDBC per Microsoft SQL Server implementa la classe SQLServerParameterMetaData. Questa classe contiene numerosi campi e metodi che restituiscono informazioni in forma di singolo valore.

Per creare un oggetto SQLServerParameterMetaData, è possibile utilizzare i metodi getParameterMetaData delle classi SQLServerPreparedStatement e SQLServerCallableStatement.

Nell'esempio seguente viene passata alla funzione una connessione aperta al database di esempio AdventureWorks di SQL Server 2005, viene utilizzato il metodo getParameterMetaData della classe SQLServerCallableStatement per restituire un oggetto SQLServerParameterMetaData e vengono utilizzati vari metodi dell'oggetto SQLServerParameterMetaData per visualizzare informazioni sul tipo e la modalità dei parametri contenuti nella stored procedure HumanResources.uspUpdateEmployeeHireInfo.

public static void getParameterMetaData(Connection con) {
   try {
      CallableStatement cstmt = con.prepareCall("{call HumanResources.uspUpdateEmployeeHireInfo(?, ?, ?, ?, ?)}");
      ParameterMetaData pmd = cstmt.getParameterMetaData();
      int count = pmd.getParameterCount();
      for (int i = 1; i <= count; i++) {
         System.out.println("TYPE: " + pmd.getParameterTypeName(i) + " MODE: " + pmd.getParameterMode(i));
      }
      cstmt.close();
   }
   catch (Exception e) {
      e.printStackTrace();
   }
}

Nota

L'utilizzo della classe SQLServerParameterMetaData con istruzioni preparate prevede alcune limitazioni. Il driver JDBC supporta le istruzioni SELECT, DELETE, INSERT e UPDATE. Tuttavia, queste istruzioni non devono contenere subquery. Inoltre, il driver JDBC supporta anche l'utilizzo dei predicati IN, IS e LIKE. Per le condizioni di ricerca, il driver JDBC supporta l'utilizzo degli operatori di confronto IS, <, >, LIKE, >=, <=, NOT IN, <>, !>, !< e !=. L'operatore FREETEXT non è supportato.

Vedere anche

Altre risorse

Gestione dei metadati con il driver JDBC