首先,我在编程方面是一个新手。我有几天的任务,我应该创建动物数据库来演示JDBC API的用途。这是作业的确切要求:
编写Java程序(非GUI首选)来演示使用 JDBC。
该程序应允许用户执行以下操作:
•使用,将动物及其特征列表写入数据库 JDBC
•显示动物的动物特征 地选择。
现在,我一直在阅读我的教科书,阅读有关数据库的所有部分,并尝试按照所提出的示例完成此任务,我被困住了。
我一直在no suitable driver found error for the database URL
。
我已按照这些示例进行操作,在反映作业所需的区域对其进行更改,但仍然无效。
我完全按照编写的方式输入示例,但它们不会编译。我一直在寻找整个互联网试图解决这个问题,老实说,我没有得到它。
如果有所不同,我正在使用NetBeans IDE 8.0.2。
这是我到目前为止的代码。我知道我还没有显示方法或数据库表中的信息,但如果我甚至无法实现数据库,那么这就是重点。
我也在第15行的IDE中收到一条“Unclosed String Literal”消息。该行是在我的教科书显示时以ESCATLY写的。
package animalsweek4;
import java.sql.*;
public class AnimalsWeek4 {
public static void main(String[] args) throws SQLException{
try{
final String DB_URL = "jdbc:derby:Animals; create = true";
Connection conn = DriverManager.getConnection(DB_URL);
Statement s = conn.createStatement();
s.execute(CREATE TABLE Animals ( "+
"Name Char(10)"+
"Type Char(10)"+
"Diet Char (10)"+
"Habitat Char 10)");
s.close();
conn.close();
}
catch(Exception ex){
System.out.println("Error"+ ex.getMessage());
}
}
}
答案 0 :(得分:0)
您收到驱动程序未找到错误,因为您可能没有将derby驱动程序添加到程序库中。在你的程序中,右键单击libraries文件夹并选择add jar / Folder并添加derby jar文件(你的本地系统中应该有你的derby jar文件)。或者从互联网上下载或询问你的朋友。
来到代码,你的SQL是错误的。所以我对你的代码进行了一些修改,并且它在我的系统中运行良好。添加驱动程序后,您可以运行代码。
import java.sql.*;
public class AnimalsWeek4 {
public static void main(String[] args) throws SQLException{
Connection conn=null;
PreparedStatement preparedStatement = null;
String createTableSQL="CREATE TABLE Animals (Name VARCHAR(10),Type VARCHAR(10),Diet VARCHAR(10),Habitat VARCHAR(10))";
try{
final String DB_URL = "jdbc:derby:Animals;create = true";
//final String DB_URL = "jdbc:derby://localhost:1527/sample";
conn = DriverManager.getConnection(DB_URL);
Statement s = conn.createStatement();
s.executeUpdate("DROP TABLE IF EXISTS Animals");
s.close();
preparedStatement = conn.prepareStatement(createTableSQL);
preparedStatement.executeUpdate();
System.out.println("Table is created!");
}
catch(Exception ex){
System.out.println("Error"+ ex.getMessage());
}finally {
if (preparedStatement != null) {
preparedStatement.close();
}
if (conn != null) {
conn.close();
}
}
}
}
答案 1 :(得分:0)
请参阅修改后的代码。
import java.sql.*;
public class AnimalsWeek4 {
public static void main(String[] args) throws SQLException{
Connection conn=null;
PreparedStatement preparedStatement = null;
Statement s =null;
String createTableSQL="CREATE TABLE Animals ( "
+"Name VARCHAR(10),"
+"Type VARCHAR(10),"
+"Diet VARCHAR(10),"
+"Habitat VARCHAR(10))";
try{
//final String DB_URL = "jdbc:derby:Animals; create = true";
final String DB_URL = "jdbc:derby://localhost:1527/TestDB";
conn = DriverManager.getConnection(DB_URL);
System.out.println("Connected to DB successfully");
final String dropTableSQL="DROP TABLE Animals";
s = conn.createStatement();
try{
s.executeUpdate(dropTableSQL);
System.out.println("Table Dropped");
}
catch(Exception e){
System.out.println("Exception is "+e);
// if (!e.getSQLState().equals("proper SQL-state for table does not exist"));
}
preparedStatement = conn.prepareStatement(createTableSQL);
preparedStatement.executeUpdate();
System.out.println("Table is created!");
}
catch(Exception ex){
System.out.println("Error"+ ex.getMessage());
}finally {
if (preparedStatement != null) {
preparedStatement.close();
}
if (conn != null) {
conn.close();
}
if (s!=null){
s.close();
}
}
}
}