資料庫寫入的問題

lee_m_發表於2005-03-06
小弟最近剛剛接觸struts這個東東,最近做的一個練習的時候碰到了一個問題。使用的是ms sql2000資料庫、tomcat4.0,JBX,使用了commons-dbcp.jar包提供連線池,資料庫配置連線沒有問題,也可以很順利的從資料庫裡取出資料,但是問題是。當我操做插入資料到資料庫時沒有發生任何異常,但是資料卻老是存不進去。以下就是小弟用於插入資料的函式,請各位高手多多指點。
public String InsertBook(eBookForm ebf)
{
String insertStr="fail";
PreparedStatement ps=null;
String sqlStr="insert into Book(book_name,book_price,book_public,book_publictime) values (?,?,?,?)";
try{
ps=con.prepareStatement(sqlStr);
ps.setString(1,ebf.getBook_name());
ps.setString(2,ebf.getBook_price());
ps.setString(3,ebf.getBook_public());
ps.setString(4,ebf.getBook_publictime());
ps.executeUpdate();
insertStr = "sucess";
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexcepted");
}
finally
{
try{
if(ps!=null)
ps.close();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexcepted");
}
}
return insertStr;
}
整個類程式碼如下:
package web.dao;

import java.sql.*;
import web.form.eBookForm;
import java.util.*;

public class BookDao {
private Connection con=null;
public BookDao(Connection con) {
this.con=con;
}
//這個方法出現問題,資料存不進資料庫,但沒有異常
public String InsertBook(eBookForm ebf)
{
String insertStr="fail";
PreparedStatement ps=null;
String sqlStr="insert into Book(book_name,book_price,book_public,book_publictime) values (?,?,?,?)";
try{
ps=con.prepareStatement(sqlStr);
ps.setString(1,ebf.getBook_name());
ps.setString(2,ebf.getBook_price());
ps.setString(3,ebf.getBook_public());
ps.setString(4,ebf.getBook_publictime());
ps.executeUpdate();
insertStr = "sucess";
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexcepted");
}
finally
{
try{
if(ps!=null)
ps.close();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexcepted");
}
}
return insertStr;
}
//這個函式可以順利的從資料庫中取出資料
public Collection getAllBook()
{
Collection ct=new ArrayList();
String resutlStr="";
PreparedStatement ps=null;
ResultSet rs=null;
String sqlStr="select * from Book";
try
{
ps=con.prepareStatement(sqlStr);
rs=ps.executeQuery();
while(rs.next())
{
eBookForm ebf=new eBookForm();
ebf.setBook_name(rs.getString("book_name"));
ebf.setBook_price(rs.getString("book_price"));
ebf.setBook_public(rs.getString("book_public"));
ebf.setBook_publictime(rs.getString("book_publictime"));
ct.add(ebf);
}
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexpected");
}
finally
{
try
{
if(rs!=null)
rs.close();
if(ps!=null)
ps.close();
}
catch(Exception e)
{
e.printStackTrace();
throw new RuntimeException("error.unexpected");
}
}
return ct;
}
}

相關文章