>

Java 데이터베이스가 업데이트되지 않았지만 쿼리가 성공적으로 실행되었습니다. "ProductClass"라는 클래스에서 업데이트 메소드를 호출하고 메소드를 내 jframe 소스 코드 "UpdateProductForm"에 넣습니다. 그러나이 문제가 내 업데이트 메서드를 만드는 중 오류가 있거나 업데이트 메서드를 호출하는 중 오류가 발생한 것인지 확실하지 않습니다. 컴파일러가 제공 한 오류 메시지가 없습니다. 심지어 도움이 필요합니다. 사전에 감사합니다.

내 제품 클래스

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.SQLException;
import java.util.logging.Level;
import java.util.logging.Logger;
public class ProductClass extends MaterialClass implements Addable, Updatable, Deletable {  
public int PRODUCT_ID;
public String PRODUCT_NAME;
public String PRODUCT_BRAND;
public String PRODUCT_MODEL;
public String PRODUCT_TYPE;
public int PRODUCT_PRICE;
public int MATERIAL_ID;
public ProductClass(int PRODUCT_ID, String PRODUCT_NAME, String PRODUCT_BRAND, String PRODUCT_MODEL, String PRODUCT_TYPE, int PRODUCT_PRICE, int MATERIAL_ID)
{
}
public ProductClass(int PRODUCT_ID)
{ 
}
@Override
public boolean Update() 
{
     try 
    {
        Connection conn= DriverManager.getConnection("jdbc:derby://localhost:1527/KDatabase","koushal","456");
        String query= "UPDATE PRODUCT SET PRODUCT_NAME= '"+PRODUCT_NAME+"' ,PRODUCT_BRAND= '"+PRODUCT_BRAND+"' ,PRODUCT_MODEL= '"+PRODUCT_MODEL+"' ,PRODUCT_TYPE='"+PRODUCT_TYPE+"',PRODUCT_PRICE= "+PRODUCT_PRICE+" ,MATERIAL_ID= "+MATERIAL_ID+" where PRODUCT_ID= "+PRODUCT_ID+"  ";
        PreparedStatement statement =conn.prepareStatement(query);
        statement.executeUpdate();
        return true;
    } 
    catch (SQLException ex) 
    {
        Logger.getLogger(SystemAdministrator.class.getName()).log(Level.SEVERE, null, ex);
    }
    return false;
}
}

My UpdateProductForm where I'm trying to call the method update. Update Successful here but my database not updated

   private void UpdateButtonActionPerformed(java.awt.event.ActionEvent evt) {                                             
    int value1=Integer.parseInt(Ptd_IDtxtField.getText());
    String value2=Ptd_NametxtField.getText();
    String value3=PtdBrand_txtField.getText();
    String value4=PtdModel_txtField.getText();
    String value5=PtdType_txtField.getText();
    int value6=Integer.parseInt(PtdPrice_txtField.getText());
    int value7=Integer.parseInt(MaterialID_txtField.getText());
    ProductClass object = new ProductClass(value1,value2,value3,value4,value5,value6,value7);
    if(object.Update()==true)
    {
        JOptionPane.showMessageDialog(null,"Update Successful");
    }
} 

this is my Updatable Public Interface

public interface Updatable {
/**
 *
 * @return
 */
public boolean Update();

}

  • 답변 # 1

    업데이트 누락 commit  마지막 문장

    conn.commit();
    
    

    또한 리소스를 닫으십시오. java 7부터 리소스를 사용해보십시오.

관련 자료

  • 이전 c - 배열 변수의 주소를 얻는 것은 무엇을 의미합니까?
  • 다음 linux - 비주얼 스튜디오 코드 - c ++ 디버거가 시작되지 않습니다