資料庫寫入的問題
小弟最近剛剛接觸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;
}
}
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;
}
}
相關文章
- 資料庫併發寫入問題-丟失更新與寫入偏差資料庫
- 做資料庫分離讀寫時,sqlServer資料庫資料同步的問題:資料庫SQLServer
- 資料庫使用者大小寫問題資料庫
- 【java】ObjectOutputStream & ObjectInputStream 多次寫入發生重複寫入相同資料的問題JavaObject
- MySQL資料庫中庫、表名、欄位的大小寫問題MySql資料庫
- oracle資料庫版讀者寫者問題Oracle資料庫
- PHP資料寫入MySql資料庫PHPMySql資料庫
- jboss訪問資料庫的問題資料庫
- 如何將 EXCEL 資料寫入資料庫Excel資料庫
- SessionBean呼叫資料庫的問題SessionBean資料庫
- 資料庫同步問題資料庫
- imp工具匯入整個資料庫出現的問題資料庫
- jBoss下資料庫表名大小寫被自動更改的問題資料庫
- 不同資料庫間傳遞資料的問題資料庫
- 求助 | 天氣預報資料採集,更新入庫的問題!
- DNS導致資料庫登入緩慢的問題解決DNS資料庫
- Sybase ASE資料庫的license問題資料庫
- mysql資料庫匯入外來鍵約束問題MySql資料庫
- 關於資料表結構sql檔案匯入mysql資料庫的問題?MySql資料庫
- 資料庫常見問題資料庫
- 資料庫被鎖問題資料庫
- jbuilder 與資料庫問題UI資料庫
- 資料庫中文問題,急資料庫
- jbuilder資料庫中文問題UI資料庫
- 配置資料庫問題?求救資料庫
- 資料庫關聯問題資料庫
- 資料庫同步更新問題?資料庫
- 資料庫問題求證資料庫
- sybase iq 資料庫 問題資料庫
- 資料庫併發問題資料庫
- Domino 資料庫超大問題資料庫
- 資料庫欄位問題資料庫
- 資料庫啟動問題資料庫
- 資料庫sql的優化問題的面試題資料庫SQL優化面試題
- 關於Room資料庫,拼寫模糊查詢語句遇到的問題OOM資料庫
- 安裝資料庫和資料庫解決問題資料庫
- 使用scrapy框架把資料非同步寫入資料庫框架非同步資料庫
- Oracle資料庫中對BLOB資料的操作問題Oracle資料庫