说什么,Class.forName("org.postgresql.Driver"); 没有找到类,我的CLASSPATH环境变量是
D:\program files\j2sdk1.4.0\lib\dt.jar;
D:\program files\j2sdk1.4.0\lib\tools.jar;
C:\Program Files\PostgreSQL\usr\share\postgresql\java\postgresql.jar;
D:\program files\j2sdk1.4.0\lib\dt.jar;
D:\program files\j2sdk1.4.0\lib\tools.jar;
C:\Program Files\PostgreSQL\usr\share\postgresql\java\postgresql.jar;
他的驱动是pg73jdbc3.jar
你可以到http://www.postgresql.com/下载
哇呀呀,巨郁闷import java.io.*;
import java.sql.*;
import java.lang.*;
public class sample1
{
public static void main(String[] args)
{
Connection conn;
Statement stmt;
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql:template1", "longpoet", "wyqdylg");
stmt = conn.createStatement();
ResultSet res = stmt.executeQuery("select * from children");
if (res != null)
while(res.next())
{String state_name = res.getString(2);
System.out.println(state_name);}
res.close();
stmt.close();
conn.close();
}
}
while(res.next())
{String state_name = res.getString(2);
System.out.println(state_name);}
好像不妥:
应该是:
while(res.hasnext())
这种找不到类的问题,都是环境变量没有设好。但是,你用的Class.forname()实时加载类,就是运行环境的问题了。估计你是用java命令行来执行的
java -cp .;....... sample
在-cp之后加上你要的jar包,再试验一下
代码问题:
import java.io.*;
import java.sql.*;
//import java.lang.*; //可以不要
public class sample1
{
public static void main(String[] args)
{
Connection conn=null;//注意给初始值
Statement stmt=null;//
try{
Class.forName("org.postgresql.Driver");
conn = DriverManager.getConnection("jdbc:postgresql:template1", "longpoet", "wyqdylg");
stmt = conn.createStatement();
ResultSet res = stmt.executeQuery("select * from children");
while(res.next())
{String state_name = res.getString(2);
System.out.println(state_name);}
}
catch(SQLException ex){}//注意异常的捕捉
finally{
res.close();
stmt.close();
conn.close();
}
}
}
正确配置:"我的电脑"-->"属性"-->"高级"-->"环境变量"-->"系统变量"-->如果没有,则进行新建:变量名:Path 变量值:C:\jdk1.4\bin
变量名:ClassPath 变量值:.;C:\jdk1.4\lib\dt.jar;C;\jdk1.4\lib\tools.jar(注意符号.)
再创建一个"用户变量" 变量名:JAVA_HOME 变量值:C:\jdk1.4
这样一来,如果程序正确,在任何地方进行编译,运行都没有问题
C:\Program Files\PostgreSQL\usr\share\postgresql\java\postgresql.jar; //驱动
D:\program files\j2sdk1.4.0\lib\dt.jar;
D:\program files\j2sdk1.4.0\lib\tools.jar没有java_home,因为以上我写的都是绝对路径,所以,我觉得没有必要。