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

想要做的是一个比较小的程序,想要在一个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的,不太懂。。。

存储图片:

//加载驱动程序类
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进行显示

.....
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网