2017-10-13 107 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); 
} 


} 
} 

我得到這個任何導致?我正在嘗試這件事幾個小時,並沒有得到任何領先:/ PLZ的幫助。我正在製作一個圖書館管理系統,併爲其製作了一個專欄書籍,並試圖從中獲取數據。java.sql.SQLSyntaxErrorException:語法錯誤:在第1行第15列遇到「Book」

+1

我假設本書是你的表不是列 –

+0

是你確定你知道哪條語句給你錯誤?您的粘貼代碼顯示'BOOK',您的異常消息顯示爲'Book'。也許你運行的代碼比你想象的要多。確保通過遵循http://wiki.apache.org/db-derby/UnwindExceptionChain獲取完整的異常信息。另外,使用-Dderby.language.logStatementText = true運行你的程序,並查看你的derby.log,看看*完全正確*傳遞給數據庫的SQL是什麼。 –

回答

-1

德比是一個棘手的野獸。 這裏有一個數據retreivale和準備用於插入的工作示例爲一個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 

要插入AA桂...

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

你爲什麼說「是棘手的野獸」?全部在主流JDBC –

+0

我可以使用Oracles SQL開發人員零問題。爲了在德比數據庫中找到我想要的數據而讓java在我的生活中失去了日子 –

+0

爲了在java中使用德比,你必須學習他們在我的Java大學課程中沒有教授的配置。夫婦,與谷歌搜索如何在Java中使用德比和你充斥着舊信息已經過時,只是普通不起作用 –

相關問題