使用java&;更新图像;SQL
图像的更新工作正常,但是当我对记录进行部分更新时,例如,我更新“Name,City,Zipecode”,而不更新图像。我收到了成功保存的消息,但当搜索更新的记录时,我发现图像变为“空”使用java&;更新图像;SQL,java,swing,Java,Swing,图像的更新工作正常,但是当我对记录进行部分更新时,例如,我更新“Name,City,Zipecode”,而不更新图像。我收到了成功保存的消息,但当搜索更新的记录时,我发现图像变为“空” 所以,问题是当你做“部分更新”时。但是发布的代码没有做任何部分更新。这似乎与图像和DBs有关,但与Swing无关!您能否从控制台应用程序成功“更新图像”。?如果是这样的话,这可能与Swing有关。如果没有,那就没有了。如果你还没有尝试过,你应该这样做。为了更快地获得更好的帮助,请发布一个or。如果我更新了包括图像
所以,问题是当你做“部分更新”时。但是发布的代码没有做任何部分更新。这似乎与图像和DBs有关,但与Swing无关!您能否从控制台应用程序成功“更新图像”。?如果是这样的话,这可能与Swing有关。如果没有,那就没有了。如果你还没有尝试过,你应该这样做。为了更快地获得更好的帮助,请发布一个or。如果我更新了包括图像在内的所有内容,就没有问题了。但是如果我更新了除图像以外的所有内容。然后问题是图像被替换为“空”并且不再显示??我修复了它,谢谢
private void UpdateEmplyee() throws Exception {
try {
int EMP_ID = Integer.parseInt(this.empidtxt.getText());
String FNAME = this.firstnametxt.getText().toUpperCase();
String LNAME = this.lastnametxt.getText().toUpperCase();
String ADDRESS = this.addresstxt.getText().toUpperCase();
String CITY = this.citytxt.getText().toUpperCase();
String STATE = this.statetxt.getText().toUpperCase();
int ZCODE = Integer.parseInt(this.zipcodetxt.getText());
String PHONE_N = this.phonetxt.getText();
//I need something here to keep the image as it is, if not updated??
//Icon image = this.AttImglbl.getIcon();
EmployeeRecord emp = new EmployeeRecord();
emp.setFNAME(FNAME);
emp.setLNAME(LNAME);
emp.setADDRESS(ADDRESS);
emp.setADDRESS(ADDRESS);
emp.setCITY(CITY);
emp.setSTATE(STATE);
emp.setZCODE(ZCODE);
emp.setPHONE_N(PHONE_N);
emp.setEMP_IMG(EMP_IMG);//byte[]
EmployeeRecordDao empdao = new EmployeeRecordDao();
int result = empdao.UpdateEmployee(emp, EMP_ID);
if (result != 0) {
dm.Message("Your data has been saved!");
} else {
dm.Message("Your data has been rejected!");
}
} catch (SQLException e) {
System.out.println(e.toString());
dm.Message("An error has occurred. Please try again");
}
empidtxt.requestFocus();
}
private void AttachImage() {
try {
JFileChooser chooser = new JFileChooser();
chooser.showOpenDialog(attachmentbtn.getParent());
File f = chooser.getSelectedFile();
filename = f.getAbsolutePath();
Image img;
img = getToolkit().createImage(filename);
ImageIcon ii = new ImageIcon(img.getScaledInstance(200, 200, Image.SCALE_SMOOTH));
AttImglbl.setIcon(ii);
File image = new File(filename);
FileInputStream fis = new FileInputStream(image);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
byte[] buf = new byte[1024];
for (int readNum; (readNum = fis.read(buf)) != -1;) {
bos.write(buf, 0, readNum);
}
EMP_IMG = bos.toByteArray();
} catch (HeadlessException | IOException e) {
System.out.println(e.toString());
}
}