Запрос на обновление выполнен успешно, но таблица в базе данных Java на NetBeans не обновляется даже с помощью оператора update - PullRequest
0 голосов
/ 01 ноября 2018

Моя база данных Java не обновляется, но запрос успешно выполнен. Я пытаюсь вызвать свой метод обновления из класса с именем «ProductClass» и поместить метод в исходный код jframe «UpdateProductForm». Но я не уверен, связана ли эта проблема с ошибкой при создании моего метода обновления или с ошибкой при вызове моего метода обновления. Обратите внимание, что компилятором не выдается сообщение об ошибке. Мне очень нужна помощь. Заранее спасибо.

Мой ProductClass

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, где я пытаюсь вызвать метод update. Обновление прошло успешно, но моя база данных не обновлена ​​

    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");
    }
}  

это мой обновляемый публичный интерфейс

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

}

1 Ответ

0 голосов
/ 01 ноября 2018

В вашем обновлении отсутствует commit оператор в конце

 conn.commit();

А также закройте свои ресурсы, желательно используя try с ресурсами начиная с Java 7, подробнее см. docs

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...