如何在Java程序中选择添加图片,再存到数据库中

想要做的是一个比较小的程序,想要在一个java程序中有一项功能是添加图片,之后再存到数据库的相应的表中。比如:有Student这张表,表中有(name,photo)。那我... 想要做的是一个比较小的程序,想要在一个java程序中有一项功能是添加图片,之后再存到数据库的相应的表中。
比如:有Student这张表,表中有(name,photo)。那我在程序中要添加photo这一项。该如何实现?
JLabel jLabel1 = new JLabel();
JTextField sName = new JTextField(15);
;;;
jLabel1.setText("学生姓名:");
jLabel1.setFont(new Font("Dialog",0,12));
girdBagCon = new GridBagConstraints();
girdBagCon.gridx = 0;
girdBagCon.gridy = 0;
girdBagCon.insets = new Insets(10,10,10,1);
girdBag.setConstraints(jLabel1,girdBagCon);
centerPanel.add(jLabel1);
girdBagCon = new GridBagConstraints();
girdBagCon.gridx = 1;
girdBagCon.gridy = 0;
girdBagCon.fill = girdBagCon.BOTH;
girdBagCon.insets = new Insets(10,1,10,10);

girdBag.setConstraints(sName,girdBagCon);
centerPanel.add(sName);
就是类似于向上面name的这种形式,会出现一个框。
而photo就是要选择并上传,同时添加到数据库中的。
不知该如何实现。。。
希望能够有相应的代码,能够操作的。。我是初学java的,不太懂。。。
展开
 我来答
辰时劣人
2010-06-03 · TA获得超过117个赞
知道答主
回答量:57
采纳率:0%
帮助的人:66.1万
展开全部
存储图片:

//加载驱动程序类
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
//建立数据库联机,其中denglu为数据库名,sa为连接数据库的帐号及密首派吵码。
Statement stmt=con.createStatement(); //建立Statement对象

FileInputStream str=new FileInputStream(filename); //图片文件路径
String sql="insert into picturenews(id,image) values(?,?,?)";
PreparedStatement pstmt=con.prepareStatement(sql);
pstmt.setString(1,id); //者侍ID号
pstmt.setBinaryStream(2,str,str.available()); //图片数据
pstmt.execute();
//将数据存入数据库
out.println("Success,You Have Insert an Image Successfully");

图片读取:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:denglu","sa","sa");
Statement stmt=con.createStatement();
ResultSet rs=null;
String sql = "select image from picturenews WHERE id="+id;

rs=stmt.executeQuery(sql);
if(rs.next()) {
//图片输出的输出流
InputStream in = rs.getBinaryStream("image");
byte b[] = new byte[0x7a120];
for(int i = in.read(b); i != -1;)
{
//将缓冲区的输入输出到页面
in.read(b);
}
}

/**
* 获得数据后可以羡好按照自己的方法进行处理或者显示
*/
JLabel label=new JLabel(new ImageIcon(b)); //用JLabel进行显示

.....
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式