El procedimiento almacenado no se ejecutará correctamente desde Java

Tengo un procedimiento en T-SQL desde aquí que funciona perfectamente cuando lo ejecuto en SMSS. Por ejemplo, tengo una tabla de animales, y si quiero buscar todas las columnas que tengan la palabra "gato", haré esto:

EXEC SearchTable 'animals' 'cat'

Eso funciona perfectamente, como dije. Pero cuando ejecuto lo mismo desde Java, así:

Statement statement = ProjectServer.dbConnection.createStatement();
String sql = "EXEC SearchTable '" + tblname + "' '" + searchTerm + "'";
System.out.println(sql);
ResultSet results = statement.executeQuery(sql);

y tblname = animals y searchTerm = cat, imprime esto:

EXEC SearchTable 'animals' 'cat'

que es exactamente lo que hago en SMSS. Pero me sale esta excepción:

java.sql.SQLException: [Microsoft][SQL Server Native Client 10.0][SQL Server]Incorrect syntax near 'cat'.

No tengo idea de lo que está pasando. Estoy usando JDK 7 con NetBeans 7.1.2 y SQL Server 2008.

Respuesta 1

Te falta una coma, ¿verdad?

El SQL debe ser EXEC SearchTable 'animals', 'cat'

Respuesta: 2

Tengo que desarrollar una aplicación de Android simple usando la API de Cordova (PhoneGap) y requiere Android 4.0.3 o versiones superiores (API Nivel 15 o superior) para construir la aplicación en el emulador correctamente. Pero cuando yo ...

Agregué este token de línea desde aquí map doc y no está compilando mapFragment = (SupportMapFragment) getFragmentManager (). FindFragmentById (R.id.supportmapfragmentj); no puedo emitir ...

Hola, estoy desarrollando una aplicación que captura imágenes y la envía por correo electrónico. La captura de imágenes funciona bien en Samsung Galaxy y Sony Ericsson xperia, pero no funciona en dispositivos HTC. ¿Alguien sabe por qué? ...

Estoy tratando de construir una interfaz simple para una tarea, en la que los cuadros de entrada de varias líneas envueltas en palabras se puedan apilar verticalmente en una sola columna de ancho fijo. entonces toda la pila (si es lo suficientemente alta) ...