首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

对数据库进行增删改和获得表中所有信息,方法调用如何就不对啊

2012-02-20 
对数据库进行增删改和获得表中所有信息,方法调用怎么就不对啊!public class StudentDAO {static Statement

对数据库进行增删改和获得表中所有信息,方法调用怎么就不对啊!
public class StudentDAO {
static Statement stat;
static String sql;
static int id;
static int age;
static String name;
static Connection conn ;
static ResultSet rs;
  static PreparedStatement ps;
//public StudentDAO(){
//}

public static Connection getConnection(){
Connection conn;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
try {
conn = DriverManager.getConnection("jdbc:oracle:thin:@192.192.192.249:1521:orcl" ,"zhangxc","zhangxc");
return conn;
} catch (SQLException e) {
e.printStackTrace();
return null;
}
} catch (ClassNotFoundException e) {
e.printStackTrace();
return null;
}

}

public static void getAll(int id,String name,int age) throws SQLException{
try {
sql = "select * from student";
rs = stat.executeQuery(sql);
while (rs.next()) {

int id1 = rs.getInt(1);
String name1 = rs.getString(2);
int age1 = rs.getInt(3);
System.out.println("id:" + id + " name:" + name + " age:" + age);
  // return "id:" + id + " name:" + name + " age:" + age;  
}
} catch (SQLException e) {
//return "";
System.out.println("查询失败");
}


}


public static void get() throws SQLException {
try {
String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");
sql = "select * from student where id=?";
//ResultSet rs = stat.executeQuery(sql);
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ResultSet rs = ps.executeQuery();
while (rs.next()) {
String idd =rs.getString(1);
String name = rs.getString(2);
int age = rs.getInt(3);
System.out.println("id:" + id + " name:" + name + " age:" + age);
}
} catch (SQLException e) {
System.out.println("查询失败");

}
}

public static void save() throws SQLException {
try {
//sql="insert into student(id,name,age) values('1','张三','2')";
// i=stat.executeUpdate(sql);
//System.out.println("插入成功");

String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");
String name = javax.swing.JOptionPane.showInputDialog(null, "输入姓名");
String age = javax.swing.JOptionPane.showInputDialog(null, "请输入年龄");
sql = "insert into student(id,name,age) values(?,?,?)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ps.setString(2, name);
ps.setString(3, age);
int i = ps.executeUpdate();
System.out.println("添加成功");
} catch (SQLException e) {
System.out.println("添加失败");
}

}

public static void update() throws SQLException {
try {
// sql="update student set name=? where id=?";
// i=stat.executeUpdate(sql);
// System.out.println("修改成功");
// PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES
  // SET SALARY = ? WHERE ID = ?");
  // pstmt.setBigDecimal(1, 153833.00)
  // pstmt.setInt(2, 110592)

String id = javax.swing.JOptionPane.showInputDialog(null, "请输入要改的学号");

String name = javax.swing.JOptionPane.showInputDialog(null, "请输入改后的名字");

sql = "update student set name=? where id=? ";
PreparedStatement ps = conn.prepareStatement(sql);


ps.setObject(1, name);
ps.setString(2, id);
//ps.setString(1, ID);
//ps.setString(2, NAME);
//ps.setString(3, AGE);
int i = ps.executeUpdate();
System.out.println("修改成功");
} catch (SQLException e) {
System.out.println("修改失败");
}
}

public static void delete() throws SQLException {
try {
// sql="delete from student where id=?";
// i=stat.executeUpdate(sql);
// System.out.println("删除成功");
String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");
String name = javax.swing.JOptionPane.showInputDialog(null, "输入姓名");
String age = javax.swing.JOptionPane.showInputDialog(null, "请输入年龄");
sql = "delete from student where id=? and name=? and age=?";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setString(1, id);
ps.setString(2, name);
ps.setString(3, age);
int i = ps.executeUpdate();
System.out.println("删除成功");
} catch (SQLException e) {
System.out.println("删除失败");
}
}


public static void main(String[] args) throws Exception {
Connection conn = getConnection();
Statement stat = conn.createStatement();
//PreparedStatement ps;
getAll(id, name, age);
get();
save();
update();
delete();


[解决办法]
static Statement stat
你的这些静态变量都没有赋值,你那些方法里就直接调用了

[解决办法]
楼主试试下面的代码能不能正常跑出来,如果不能跑把异常信息贴出来,再讨论

Java code
import java.sql.*;/** * Created by IntelliJ IDEA. * User: admin * Date: 2011-9-8 * Time: 10:01:17 * To change this template use File | Settings | File Templates. */public class StudentDAO {    static Statement stat;    static String sql;    static int id;    static int age;    static String name;    static Connection conn ;    static ResultSet rs;    static PreparedStatement ps;//public StudentDAO(){//}    public static Connection getConnection(){//        Connection conn;        try {            Class.forName("oracle.jdbc.driver.OracleDriver");            try {                conn = DriverManager.getConnection("jdbc:oracle:thin:@192.192.192.249:1521:orcl" ,"zhangxc","zhangxc");                return conn;            } catch (SQLException e) {                e.printStackTrace();                return null;            }        } catch (ClassNotFoundException e) {            e.printStackTrace();            return null;        }    }    public static void getAll(int id,String name,int age) throws SQLException{        try {            sql = "select * from student";            rs = stat.executeQuery(sql);            while (rs.next()) {                int id1 = rs.getInt(1);                String name1 = rs.getString(2);                int age1 = rs.getInt(3);                System.out.println("id:" + id + " name:" + name + " age:" + age);                // return "id:" + id + " name:" + name + " age:" + age;            }        } catch (SQLException e) {//return "";            System.out.println("查询失败");        }    }    public static void get() throws SQLException {        try {            String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");            sql = "select * from student where id=?";//ResultSet rs = stat.executeQuery(sql);            PreparedStatement ps = conn.prepareStatement(sql);            ps.setString(1, id);            ResultSet rs = ps.executeQuery();            while (rs.next()) {                String idd =rs.getString(1);                String name = rs.getString(2);                int age = rs.getInt(3);                System.out.println("id:" + id + " name:" + name + " age:" + age);            }        } catch (SQLException e) {            System.out.println("查询失败");        }    }    public static void save() throws SQLException {        try {//sql="insert into student(id,name,age) values('1','张三','2')";// i=stat.executeUpdate(sql);//System.out.println("插入成功");            String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");            String name = javax.swing.JOptionPane.showInputDialog(null, "输入姓名");            String age = javax.swing.JOptionPane.showInputDialog(null, "请输入年龄");            sql = "insert into student(id,name,age) values(?,?,?)";            PreparedStatement ps = conn.prepareStatement(sql);            ps.setString(1, id);            ps.setString(2, name);            ps.setString(3, age);            int i = ps.executeUpdate();            System.out.println("添加成功");        } catch (SQLException e) {            System.out.println("添加失败");        }    }    public static void update() throws SQLException {        try {// sql="update student set name=? where id=?";// i=stat.executeUpdate(sql);// System.out.println("修改成功");// PreparedStatement pstmt = con.prepareStatement("UPDATE EMPLOYEES            // SET SALARY = ? WHERE ID = ?");            // pstmt.setBigDecimal(1, 153833.00)            // pstmt.setInt(2, 110592)            String id = javax.swing.JOptionPane.showInputDialog(null, "请输入要改的学号");            String name = javax.swing.JOptionPane.showInputDialog(null, "请输入改后的名字");            sql = "update student set name=? where id=? ";            PreparedStatement ps = conn.prepareStatement(sql);            ps.setObject(1, name);            ps.setString(2, id);//ps.setString(1, ID);//ps.setString(2, NAME);//ps.setString(3, AGE);            int i = ps.executeUpdate();            System.out.println("修改成功");        } catch (SQLException e) {            System.out.println("修改失败");        }    }    public static void delete() throws SQLException {        try {// sql="delete from student where id=?";// i=stat.executeUpdate(sql);// System.out.println("删除成功");            String id = javax.swing.JOptionPane.showInputDialog(null, "请输入学号");            String name = javax.swing.JOptionPane.showInputDialog(null, "输入姓名");            String age = javax.swing.JOptionPane.showInputDialog(null, "请输入年龄");            sql = "delete from student where id=? and name=? and age=?";            PreparedStatement ps = conn.prepareStatement(sql);            ps.setString(1, id);            ps.setString(2, name);            ps.setString(3, age);            int i = ps.executeUpdate();            System.out.println("删除成功");        } catch (SQLException e) {            System.out.println("删除失败");        }    }    public static void main(String[] args) throws Exception {        getConnection();        stat = conn.createStatement();        //PreparedStatement ps;        getAll(id, name, age);        get();        save();        update();        delete();        rs.close();        stat.close();        conn.close();    }} 

热点排行