Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLSyntaxErrorException:语法错误:遇到;书;在第1行第15列_Java_Jdbc_Derby - Fatal编程技术网

java.sql.SQLSyntaxErrorException:语法错误:遇到;书;在第1行第15列

java.sql.SQLSyntaxErrorException:语法错误:遇到;书;在第1行第15列,java,jdbc,derby,Java,Jdbc,Derby,我得到线索了吗?我尝试了几个小时,没有得到任何线索:/plz帮助。我正在制作一个图书馆管理系统,为它制作数据库,里面有一本专栏书,并试图从中获取数据。Derby是一只狡猾的野兽。 下面是一个数据检索和准备插入Jtable的工作示例 package javaapplication2; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sq

我得到线索了吗?我尝试了几个小时,没有得到任何线索:/plz帮助。我正在制作一个图书馆管理系统,为它制作数据库,里面有一本专栏书,并试图从中获取数据。

Derby是一只狡猾的野兽。 下面是一个数据检索和准备插入Jtable的工作示例

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);
 }


} 
}

我假设这本书是你的表格,而不是一列。你确定你知道哪句话给了你错误吗?粘贴的代码显示为
BOOK
,异常消息显示为
BOOK
。也许您运行的代码与您认为的不同。确保通过以下操作获得完整的异常信息。另外,使用-Dderby.language.logStatementText=true运行程序,并查看derby.log以查看到底是什么SQL被传递到数据库中。为什么说“是棘手的野兽”?所有都是主流JDBCI可以使用Oracles SQL开发人员,没有任何问题。让java在derby数据库中找到我想要的数据让我浪费了好几天的时间为了在java中使用derby,你必须学会分配他们在我的java大学课堂上不教的资源。再加上谷歌搜索如何在java中使用derby,你会发现大量过时的旧信息,而纯文本不起作用,例如语句stmt=con.createStatement();ResultSet rs=stmt.executeQuery(“从DEMO.Table1中选择*);而(rs.next()){String s=rs.getString(“Name”);float n=rs.getFloat(“Age”);System.out.println(s+“”+n);}从中获取将是错误的操作相反:Derby从第一个镜头开始工作。Betwwen 3 java sql数据库是最“经典”的。我从不使用
resultset.last()
resultset.first()
单向算法模式(以及更昂贵的构造)
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 
 table = new JTable(tableData,colNames);
 JScrollPane  scrollPane = new JScrollPane(table);