欢迎来到Doc100.Net免费学习资源知识分享平台!
您的位置:首页 > 程序异常 >

用jdbc实现数据库的增删改查出现有关问题

更新时间: 2014-01-05 02:14:24 责任编辑: Author_N1

 

用JDBC实现数据库的增删改查出现问题
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;


public class WorkerDao {

/**
 * @param args
 */
static Connection con;
static Statement st;
static ResultSet rs;
//连接
public void connectDB(){
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con=DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:ORCL",
"test","test");
 st=con.createStatement();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}

//插入
public void insertData(String name,int age,String statement){
this.connectDB();
try {
String sql="insert into test.worker(name,age,statement) values ('"+name+"',"+age+",'"+statement+"')";
rs=st.executeQuery(sql);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConnection();
}

}


//删除
public void deleteData(int id){
this.connectDB();
try {
rs=st.executeQuery("delete from worker w where w.id="+id+";commit;");
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConnection();
}


}


//修改
public void updateData(int id,String name,int age,String statement){
this.connectDB();
try {
rs=st.executeQuery("update worker w set name='"+name+"',age='"+age+"',statement='"+statement+"' where w.id="+id);
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConnection();
}

}

//查询
public void selectData(){
this.connectDB();
try {
rs=st.executeQuery("select * from worker t");
while(rs.next()){
String name=rs.getString(1);
int age=rs.getInt(2);
String statement=rs.getString(3);
System.out.println(name+","+age+","+statement);
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}finally{
this.closeConnection();
}
}
public void closeConnection(){
try {
con.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static void main(String[] args) {//测试类
WorkerDao wd=new WorkerDao();
//查询(成功)
wd.selectData();
//增加(成功)
wd.insertData("张大大", 22, "试一试");
//删除(失败:无效字符??)
wd.deleteData(4);
//更新(失败:无效ID)
wd.updateData(1, "ddd", 45, "dasdasd");
}
}
求解!!!!
--参考方法--
插入和删除不是要用st.executeUpdate()吗?
--参考方法--
4楼说得对
查询用executeQuery()
插入和修改用executeUpdate()
上一篇:上一篇
下一篇:下一篇

 

随机推荐程序问答结果

 

 

如对文章有任何疑问请提交到问题反馈,或者您对内容不满意,请您反馈给我们DOC100.NET论坛发贴求解。
DOC100.NET资源网,机器学习分类整理更新日期::2014-01-05 02:14:24
如需转载,请注明文章出处和来源网址:http://www.doc100.net/bugs/t/7379/
本文WWW.DOC100.NET DOC100.NET版权所有。