答案:
//test.java 分两部分发的。
import java.awt.*;
import javax.swing.*;
import com.microsoft.jdbc.sqlserver.*;
import java.sql.*;
import java.awt.event.*;
import java.io.*;
import java.awt.Rectangle;
/**
* 告霍利:数据库为test,表为test,表的内容只有一列:tester typeof:image
* 我不知道最大支持多大的图片,6M大的图片可以正常显示。
* 不明白再发邮件给我。
*/
public class test
extends JFrame implements ActionListener
{
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
File imageFile = null;
long fileLenght=0L;
JLabel jLabel1 = new JLabel();
JLabel jLabel2 = new JLabel();
JLabel jLabel3 = new JLabel();
JLabel jLabel4 = new JLabel();
JTextField jTextFieldDriver = new JTextField();
JTextField jTextFieldUrl = new JTextField();
JTextField jTextFieldUserName = new JTextField();
JPasswordField jPasswordFieldPassword = new JPasswordField();
JButton jButtonConnect = new JButton();
JButton jButtonStop = new JButton();
JButton jButtonUpLoad = new JButton();
JButton jButtonShow = new JButton();
JTextArea jTextAreaMessage = new JTextArea();
JLabel jLabelShowImage = new JLabel();
JTextField jTextFieldDatabase = new JTextField();
public test()
{
try
{
jbInit();
}
catch (Exception exception)
{
exception.printStackTrace();
}
}
private void jbInit() throws Exception
{
getContentPane().setLayout(null);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setResizable(false);
this.setTitle("上载下载图片示例");
jLabel1.setText("驱动:");
jLabel1.setBounds(new Rectangle(15, 19, 50, 24));
jLabel2.setText("地址:");
jLabel2.setBounds(new Rectangle(15, 52, 59, 27));
jLabel3.setText("用户名:");
jLabel3.setBounds(new Rectangle(15, 93, 58, 19));
jLabel4.setText("密码:");
jLabel4.setBounds(new Rectangle(15, 126, 57, 26));
jTextFieldDriver.setText("com.microsoft.jdbc.sqlserver.SQLServerDriver");
jTextFieldDriver.setBounds(new Rectangle(72, 19, 316, 23));
jTextFieldUrl.setText(
"jdbc:microsoft:sqlserver://127.0.0.1:1433;DatabaseName=test");
jTextFieldUrl.setBounds(new Rectangle(72, 55, 316, 27));
jTextFieldUserName.setText("test");
jTextFieldUserName.setBounds(new Rectangle(72, 93, 315, 26));
jPasswordFieldPassword.setText("test");
jPasswordFieldPassword.setBounds(new Rectangle(71, 130, 315, 26));
jButtonConnect.setBounds(new Rectangle(22, 362, 93, 28));
jButtonConnect.setText("连接");
jButtonConnect.addActionListener(new test_jButtonConnect_actionAdapter(this));
jButtonStop.setBounds(new Rectangle(123, 362, 83, 27));
jButtonStop.setText("断开");
jButtonStop.addActionListener(new test_jButtonStop_actionAdapter(this));
jButtonUpLoad.setBounds(new Rectangle(213, 362, 93, 27));
jButtonUpLoad.setEnabled(false);
jButtonUpLoad.setText("上传图片");
jButtonUpLoad.addActionListener(new test_jButtonUpLoad_actionAdapter(this));
jButtonShow.setBounds(new Rectangle(316, 362, 150, 25));
jButtonShow.setEnabled(false);
jButtonShow.setText("下载远程图片并显示");
jButtonShow.addActionListener(new test_jButtonShow_actionAdapter(this));
jTextAreaMessage.setBorder(BorderFactory.createEtchedBorder());
jTextAreaMessage.setOpaque(false);
jTextAreaMessage.setText("显示信息");
jTextAreaMessage.setLineWrap(true);
jTextAreaMessage.setBounds(new Rectangle(15, 164, 280, 189));
jLabelShowImage.setBorder(BorderFactory.createEtchedBorder());
jLabelShowImage.setHorizontalAlignment(SwingConstants.CENTER);
jLabelShowImage.setText("图片框");
jLabelShowImage.setBounds(new Rectangle(300, 164, 189, 189));
jTextFieldDatabase.setText("test");
jTextFieldDatabase.setBounds(new Rectangle(394, 55, 76, 26));
this.getContentPane().add(jButtonConnect, null);
this.getContentPane().add(jButtonUpLoad, null);
this.getContentPane().add(jButtonStop, null);
this.getContentPane().add(jButtonShow, null);
this.getContentPane().add(jLabelShowImage, null);
this.getContentPane().add(jTextAreaMessage, null);
this.getContentPane().add(jPasswordFieldPassword, null);
this.getContentPane().add(jLabel4, null);
this.getContentPane().add(jTextFieldUserName, null);
this.getContentPane().add(jLabel3, null