2017-10-13 6 views
0
package javaapplication2; 
import java.sql.Connection; 
import java.sql.DriverManager; 
import java.sql.PreparedStatement; 
import java.sql.ResultSet; 
import java.sql.SQLException; 
import java.sql.Statement; 



//jdbc:derby://localhost:1527/LMS 


class abc { 


public abc() throws SQLException{ 


//ConnectionURL, username and password should be specified in getConnection() 


//ConnectionURL, username and password should be specified in getConnection() 
try {String url = "jdbc:derby://localhost:1527/LMS"; 
      Connection conn = DriverManager.getConnection(url,"zain","12345"); 
    System.out.println("Connected! "); 

    String sql = "SELECT * FROM BOOK";`enter code here` 
Statement st = conn.createStatement(); 
ResultSet rs=st.executeQuery(sql); 
String x; 
while(rs.next()){ 


System.out.println(rs.getString("Password")); 
} 


} 


catch (SQLException ex) { 
System.out.println(ex); 
} 


} 
} 

Je reçois cette information? J'essaie cette chose pendant des heures et ne pas avoir de plomb:/plz aide. Je fais un système de gestion de bibliothèque et j'en ai fait une base de données avec un livre de colonnes et j'essaie d'obtenir des données.java.sql.SQLSyntaxErrorException: Erreur de syntaxe: "Book" rencontré à la ligne 1, colonne 15

+1

Je suppose livre est votre table pas une colonne –

+0

Est-ce Êtes-vous sûr de savoir quelle déclaration vous donne l'erreur? Votre code collé indique 'BOOK', votre message d'exception dit' Book'. Peut-être que vous utilisez un code différent de ce que vous pensez être. Assurez-vous d'obtenir toutes les informations d'exception en suivant http://wiki.apache.org/db-derby/UnwindExceptionChain. En outre, exécutez votre programme en utilisant -Dderby.language.logStatementText = true et regardez dans votre derby.log pour voir * exactement * quel SQL est passé à la base de données. –

Répondre

-1

Derby est une bête difficile. Voici un exemple de travail d'un retreivale de données et de préparation pour l'insertion dans un jtable

public static final String DRIVER= "org.apache.derby.jdbc.EmbeddedDriver"; 
public static final String JDBC_URL = "jdbc:derby://localhost:1527/LMS"; 

private void GetData()throws SQLException 
{ 
    Connection connection=DriverManager.getConnection(JDBC_URL,"zain","12345"); 
    ResultSet result = null; 
    String sql2 = "select * from book"; 
    PreparedStatement ps1 = connection.prepareStatement(sql2, ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY) ; 
    result = ps1.executeQuery(); 
    // get number of rows 
    result.last(); 
    int numRows = result.getRow(); 
    result.first(); 
    //Get metadata object for result 
    ResultSetMetaData meta = result.getMetaData(); 
    // create an arry of string for the colum names 
    colNames = new String[meta.getColumnCount()]; 
    // store column names in the new col names array 
    for(int i = 0; i< meta.getColumnCount(); i++) 
    { 
     //get column name 
     colNames[i] = meta.getColumnLabel(i+1); 

    } 
    // create 2 d string array for table data 
    tableData = new String [numRows][meta.getColumnCount()]; 
    // store columns in the data 
    for (int row = 0 ; row < numRows; row++) 
    { 
     for (int col = 0; col < meta.getColumnCount(); col++) 
     { 
      tableData[row][col]= result.getString(col + 1); 
     } 
     result.next(); 
    } 
    // close statement 
    ps1.close(); 
    connection.close(); 
} // end get data 

Pour insérer dans aa ... IUG

table = new JTable(tableData,colNames); 
JScrollPane scrollPane = new JScrollPane(table); 
+2

pourquoi avez-vous dit "est une bête délicate"? Tout est dans le courant dominant JDBC –

+0

Je peux utiliser le développeur Oracles SQL avec zéro problème. Obtenir Java pour trouver les données que je veux dans une base de données derby m'a fait perdre des jours de ma vie –

+0

Afin d'utiliser derby en Java, vous devez apprendre allot ils n'enseignent pas dans mes cours collégiaux Java. Ajoutez à cela une recherche google sur la manière d'utiliser derby dans java et vous êtes inondé d'anciennes informations qui ont été dépassées et qui ne fonctionnent tout simplement pas –