我需要Java代碼以CSV格式下載數據庫中的特定行。我正在使用Netbeans IDE和Structs。從數據庫中下載特定的行作爲struts中的csv文件
我用下面的代碼在我的動作類:
else if (mode.equalsIgnoreCase("download"))
{
if(null !=request.getParameter("batchid")){
batch_id=request.getParameter("batchid");
}
UploadVO uploadvo= new UploadVO();
filetype = uploadform.getFiletype();
filename = uploadform.getFilename();
try{
String sqls = "select ROW_NUMBER() over(order by id) as row,trx_batch_id,account_id,"
+ "(select name from [user] where id=tt.user_id) as Uploadedby,(SELECT CONVERT(VARCHAR(10),GETDATE(),101)) as date_of_transaction,"
+ "amount,(select description from [_transaction_type] where type=tt.type) as type,note,reverse_transaction_id from"
+ " [transaction] tt "+ "where trx_batch_id= '" +batch_id+ "'" ;
Statement stmts = con.createStatement();
ResultSet rss = stmts.executeQuery(sqls);
while (rss.next()) {
byte[] ba;
Blob b = rss.getBlob("content");
ba = b.getBytes(1, (int) b.length());
uploadvo.setDocfile(ba);
}
}
catch(Exception e){
}
if (filetype.trim().equalsIgnoreCase("text/plain")) {
response.setContentType("text/plain");
} else if (filetype.trim().equalsIgnoreCase("application/ms-doc")) {
response.setContentType("application/ms-doc");
} else if (filetype.trim().equalsIgnoreCase("application/ms-excel")) {
response.setContentType("application/ms-excel");
} else if (filetype.trim().equalsIgnoreCase("pdf")) {
response.setContentType("application/pdf");
} else if (filetype.trim().equalsIgnoreCase("ppt")) {
response.setContentType("application/ppt");
} else if (filetype.trim().equalsIgnoreCase("application/vnd.ms-excel")) {
response.setContentType("application/vnd.ms-excel");
} else if (filetype.trim().equalsIgnoreCase("image/jpeg")) {
response.setContentType("image/jpeg");
} else {
response.setContentType("application/octet-stream");
}
String disHeader = "Attachment; Filename= " + filename + "";
System.out.println(disHeader);
response.setHeader("Content-Disposition", disHeader);
response.setHeader("cache-control", "no-cache");
ServletOutputStream outs = response.getOutputStream();
outs.write(uploadvo.getDocfile());
outs.flush();
outs.close();
return mapping.findForward("success");
}
,但我得到一個空指針異常。
請包括對'NullPointerException'堆棧跟蹤 - 它會告訴你的行號上發生了錯誤,將幫助人們回答你更容易提出質疑。 – 2012-03-20 09:48:06