Lo que quiero lograr, es ser capaz de escribir las sentencias SQL y verificar los resultados.
Las Instrucciones SQL habría variables, tales como :

String sql = "Select  zoneid from zone where zonename = myZoneName";

Donde myZoneName se genera a partir de conteo +

Nota: yo uso Apache POI para analizar Hoja de cálculo de Excel.

aquí está el código:

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Properties;

import org.apache.log4j.Logger;
import org.junit.Test;

public class VerifyDBSingleDomain {

    static Logger log = Logger.getLogger(VerifyDBSingleDomain.class.getName());

    String url = "jdbc:oracle:thin:@a.b.c.d:1521:mname";

    @Test
    public void VerifyDBSingleDomainTest() throws SQLException {

        Properties props = new Properties();
        props.setProperty("user", "user");
        props.setProperty("password", "password");

        String sql = "Select  zoneid from zone where zonename = 99224356787.tv";
        //String sql = "Select * from zone";

        Connection conn;
        //try {
            conn = DriverManager.getConnection(url, props);
            PreparedStatement preStatement = conn.prepareStatement(sql);
            ResultSet result = preStatement.executeQuery();
            System.out.println(result);

            /*while (result.next()) {
                System.out.println(result.toString());
            }
        } catch (SQLException e) {

            e.printStackTrace();
        }*/

    // }
    //}

    }
}

y me sale error:

java.sql.SQLException: ORA-00933: SQL command not properly ended
  • No estoy seguro, pero parece ser que tiene para citar su comparación String sql = "Select zoneid from zone where zonename = '99224356787.tv'";
  • no está seguro de cómo se ve la » para el nombre de la zona, que se retira como se trataba de un error tipográfico en la pregunta, tal vez.
  • Me refería 99224356787.tv no está rodeado por comillas simples en su código desde SQL comparaciones en varchars generalmente son de la forma WHERE field = 'myValue'
  • tienes, que funciona, muchas Gracias
InformationsquelleAutor kamal | 2012-09-24

2 Comentarios

  1. 4

    Debe usar comillas simples en su WHERE cláusula suponiendo myZoneName es un tipo de texto:

    String sql = "Select zoneid from zone where zonename = '99224356787.tv'";

    Utilice el siguiente para mostrar la zoneid suponiendo que es de tipo ENTERO:

    while (result.next()) { 
       System.out.println(result.getInt("zoneid");
    }
    • Genial, ahora tengo [email protected] pero eso parece ser un Objeto, ¿CÓMO puedo obtener el real Contenido de la Tabla
    • Usted necesidad de utilizar el conjunto de resultados. Ver la actualización.
  2. 0

    si myZoneName es un tipo Varchar tienes que envolver alrededor de citas como esta

            String sql = "Select  zoneid from zone where zonename = '99224356787.tv'";

    Para obtener el contenido de la tabla:

    ResultSet result = preStatement.executeQuery();
            System.out.println(result);
    
            while (result.next()) {
                System.out.println(result.getInt("zoneid")); //if zoneid is int in the db table
            }

    se refieren a Java conjunto de resultados de la API para más información 🙂

Dejar respuesta

Please enter your comment!
Please enter your name here