关于JDBC的程序,谁能帮小弟解决一下问题,谢谢~!
import java.sql.SQLException;import java.sql.Connection;
import java.sql.Statement;
import java.sql.ResultSet;
import java.sql.DriverManager;
import java.sql.Date;
import java.util.Properties;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.FileNotFoundException;
public class CreatTableTest
{
private Connection con;
String URL ;
String userName = "";
String password = "";
public static void main(String [] args)
{
CreatTableTest test = new CreatTableTest();
test.getProperty();
Connection con = test.getConnection();
test.createTable(con);
test.getStudent(con);
}
public void createTable(Connection con)
{
try
{
Statement st = con.createStatement();
String sql = "CREATE TABLE student(姓名 carchar(12) NOT NULL, 学号 varchar(10) NOT NULL, " +
"出生日期 datetime NOT NULL,专业 varchar(10) NOT NULL,籍贯 carchar(30) NULL)";
System.out.println("输出的SQL语句是:");
System.out.println(sql);
st.execute(sql);
sql = "insert into student values('俊峰','20021022','1984-01-13','英语','山西太原')";
st.executeUpdate(sql);
st.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public void getStudent(Connection con)
{
try
{
Statement st = con.createStatement();
String sql = "select * from student";
ResultSet rs = st.executeQuery(sql);
while(rs.next())
{
//String mber = rs.getString(1);
String name = rs.getString("姓名");
String Number = rs.getString("学号");
Date tt = rs.getDate("出生日期");
String spe = rs.getString("专业");
String address = rs.getString("籍贯");
System.out.println("\n姓名"+name + "\t学号" + Number + "\t出生日期" + tt + "\t专业" + spe + "\t籍贯" + address);
}
st.close();
con.close();
}
catch(SQLException e)
{
e.printStackTrace();
}
}
public Connection getConnection()
{
try
{
//Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
con = DriverManager.getConnection(URL,userName,password);
}
/*catch(ClassNotFoundException ex )
{
ex.printStackTrace();
}*/
catch(SQLException e)
{
e.printStackTrace();
}
return con;
}
public void getProperty()
{
Properties prop = new Properties();
try
{
FileInputStream in = new FileInputStream("Driver.properties");
prop.load(in);
String drivers = prop.getProperty("drivers");
if(drivers != null)
System.setProperty("jdbc.drivers",drivers);
URL = prop.getProperty("url");
userName = prop.getProperty("user");
password = prop.getProperty("password");
}
catch(FileNotFoundException e)
{
e.printStackTrace();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}
这个程序出现的错误是:
java.io.FileNotFoundException: Driver.properties (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at CreatTableTest.getProperty(CreatTableTest.java:98)
at CreatTableTest.main(CreatTableTest.java:20)
java.sql.SQLException: The url cannot be null
at java.sql.DriverManager.getConnection(DriverManager.java:489)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at CreatTableTest.getConnection(CreatTableTest.java:79)
at CreatTableTest.main(CreatTableTest.java:21)
Exception in thread "main" java.lang.NullPointerException
at CreatTableTest.createTable(CreatTableTest.java:30)
at CreatTableTest.main(CreatTableTest.java:23)
什么地方出现了错误,那位大哥能帮我解决一下,小弟万分感激!
搜索更多相关的解决方案:
JDBC
----------------解决方案--------------------------------------------------------
我想问各位大哥们,是不是在编写程序时还得建立一个关于SQL SEVER的数据库呢?
----------------解决方案--------------------------------------------------------
需要先在数据库中建立一个表,再建立数据源,然后建立JDBC-ODBC桥接器:
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
}
catch(ClassNotFoundException e){}
连接到数据库:
try{
Connection con = DriverManager.getConnection("jdbc:odbc:数据源的名字","数据源login名","数据源的密码");
获取连接
Statement sta = con.creaeStatement();
执行SQL语句,得到结果集
ResultSet rs = sta.executeQuery("SQL语句");
}
catch(SQLException e){}
----------------解决方案--------------------------------------------------------
应该是...要么你用sql server 的jdbc驱动.
----------------解决方案--------------------------------------------------------
按照三楼的做.若还不行,你检查下rt.jar包中有没你需要调用的那个SQL驱动包?
----------------解决方案--------------------------------------------------------
我把Driver.properties文件与这个程序放到同一个目录中,解决了这个问题:
java.io.FileNotFoundException: Driver.properties (系统找不到指定的文件。)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at java.io.FileInputStream.<init>(FileInputStream.java:66)
at CreatTableTest.getProperty(CreatTableTest.java:121)
at CreatTableTest.main(CreatTableTest.java:27)
但是又出现了这个问题,那位大哥能帮小弟解决一下:
java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at CreatTableTest.getConnection(CreatTableTest.java:103)
at CreatTableTest.main(CreatTableTest.java:28)
Exception in thread "main" java.lang.NullPointerException
at CreatTableTest.createTable(CreatTableTest.java:41)
at CreatTableTest.main(CreatTableTest.java:29)
----------------解决方案--------------------------------------------------------
java.sql.SQLException: No suitable driver
错误提示没有合适的驱动?说明你的SQL驱动包中没有它所需的驱动,你的数据库是MS SQL?还是mysql?MSSQL的驱动系统自带,不过你也可以到SUM的主页下个JDBC;若是mysql的话,系统不带驱动程序,你得自己去下驱动程序,然后把下的驱动包解压缩后放入到rt.jar中就可以了
----------------解决方案--------------------------------------------------------
kingarden你好! 我已经从SUN网站上下载下JDBC来了,我也按你说的,解压后放到了rt.jar解压后的文件中,但是还是出现以上的错误,那是什么原因?我想问一下,怎么数据库还要驱动吗?是什么驱动,小弟在这里不明白,希望高人能指点指点!谢谢!
----------------解决方案--------------------------------------------------------
我的驱动已经安装好了,但是出现的错误还是和以前一样,是什么原因!
----------------解决方案--------------------------------------------------------