用java做一个CMS新闻发布系统,要用到access2003. 20

实现用户登录实现匿名用户分类浏览功能实现登录用户对新闻添加、修改、删除(发帖人才能修改、删除)实现登录用户对新闻分类的新闻添加、修改、删除功能;实现登录用户的查询功能系统... 实现用户登录
实现匿名用户分类浏览功能
实现登录用户对新闻添加、修改、删除(发帖人才能修改、删除)
实现登录用户对新闻分类的新闻添加、修改、删除功能;
实现登录用户的查询功能
系统至少要分三层实现。使用B/S实现;
展开
 我来答
1997排长
高粉答主

2016-01-11 · 说的都是干货,快来关注
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:806万
展开全部
参考如下代码:

MS Access在测试阶段比较利于携带,Web开发初期我经常使用它。后期再移植到SQLServer或Oracle上。但最近在需要对数据库中插入图片文件时,发现了一个问题,即JDK自带的JDBC-ODBC不支持java.sql.Blob里的方法,经过查阅Java API和程序调试,我找到了个变通的方法,即:
1,在写入BLOB类型字段时,使用java.sql.PreparedStatement的setBinaryStream方法,
2,读出BLOB类型字段时,因为返回的是字节数组byte[]类型,可以把它转换成ByteArrayInputStream然后读出内容写到文件里去。
这样即使用JDK自带的JDBC-ODBC驱动, 也能自如的在数据库里读写上传下载的文件了,哈哈。
import java.sql.*;
import java.io.*;
//对BLOB字段先写入(要求被写入的文件存在),再读出来
//要求先建立一个item表,有三个字段,id(int),file_name(char),file_blob(blob)
//对Access, blob字段应该设置成为“OLE对象”类型
public class blobtest{
public static void main(String[] args){
Connection conn = null;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
/*这里的数据库的url一定要写正确,这是关键,其中DBQ可以绝对路径,也可以是相对路径,为了体现数据存储路径的/独立性,你可以将数据库copy到不同的位试一下*/
String dbUrl = "jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=blob.mdb";
conn = DriverManager.getConnection(dbUrl,"","");
File file1=new File("fileToWrite.doc");
File file2=new File("fileRead.doc");
//BlobWriteForOracle( conn, file1);
//BlobReadForOracle( conn, file2);
BlobWriteForAccess( conn, file1);
BlobReadForAccess( conn, file2);
conn.close();
}catch(Exception ex){
System.err.println(ex.getMessage());

public static void BlobWriteForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection对象的auto commit属性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("select max(id) from item");
rs.next();
int maxid = rs.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid+1 ;
//System.out.println("write_id="+id);
PreparedStatement pstmt = conn.prepareStatement( "insert into item ( id, file_name, file_blob ) values ( " + id + ", ? , ? )" );
FileInputStream in = new FileInputStream(file );
int length = in.available();
pstmt.setString( 1, file_name );
pstmt.setBinaryStream( 2, in , in.available() );

System.out.println( "插入了 "+ pstmt.executeUpdate ()+ " 行数据, "
+ "id =" + id
+ ", 文件名是" + file.toString() +" , 共 "+ length +" bytes" );
conn.commit();
pstmt.close();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
}
public static void BlobReadForAccess( Connection conn, File file){
try{
conn.setAutoCommit(false); // 取消Connection对象的auto commit属性
String file_name=file.getName();
// get maxid ( to avoid insert id repeatly )
Statement stmt1 = conn.createStatement();
ResultSet rs1 = stmt1.executeQuery("select max(id) from item");
rs1.next();
int maxid = rs1.getInt(1);
//maxid = (maxid==null)?0:maxid;
int id = maxid;
//System.out.println("read_id="+id);
String sql="SELECT file_blob FROM item WHERE id=" + id + ""; //
Statement stmt=conn.createStatement();
ResultSet rs=stmt.executeQuery(sql);
rs.next();
Object obj1 = rs.getObject("file_blob"); // 得到BLOB对象
//System.out.println("type is :"+obj1.getClass().getName());
byte[] blob=(byte[])obj1;

FileOutputStream out=new FileOutputStream(file); // 建立输出流
ByteArrayInputStream in=new ByteArrayInputStream(blob); // 建立输入流
int size=1024;
byte[] buffer=new byte[size]; // 建立缓冲区
int len;
while((len=in.read(buffer)) != -1)
out.write(buffer,0,len);
in.close();
out.close();
conn.commit();
}catch(Exception ex){
ex.printStackTrace();
System.out.print("["+ex.getMessage()+"]");
try{
conn.rollback();
}catch(SQLException sqle){
System.err.println(sqle.getMessage());
}
easysoft_ln
2012-12-17 · TA获得超过1208个赞
知道大有可为答主
回答量:1.3万
采纳率:41%
帮助的人:4698万
展开全部
6| java做一个CMS新闻发布系统
5|有可能帮你处理你的问题
7|假如你还有相关的疑问也能找我们
1|我们可以为你找一份适用于学生的代码
5|能够用扣联系我解决
6| java做一个CMS新闻发布系统
1|根据你拿得需求
5|希望你顺利毕业
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
澈水招落叶
2012-12-15 · TA获得超过392个赞
知道小有建树答主
回答量:428
采纳率:100%
帮助的人:275万
展开全部
楼主,这东西不付费没人愿意给你做。
或者自己到网上找免费源码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b16d1c4
2015-12-25 · TA获得超过315个赞
知道小有建树答主
回答量:390
采纳率:76%
帮助的人:46.7万
展开全部
access? 请问你为什么要使用access,存储配置? 可以有别的方法替代的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序那点事
2012-12-15 · TA获得超过6140个赞
知道大有可为答主
回答量:3253
采纳率:59%
帮助的人:1332万
展开全部
要定做吗
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式