私はこのコードを持っています
earthid は主キーであり、これは正確な行が更新されていることを確認するために使用するものです。
int row=jTable1.getSelectedRow();
String sql="UPDATE TB_EARTHORIENTATIONPARAMETER SET year="+year1+", month="+month1+", day="+day1+", mjd="+mjd1+",ut1utcdelta="+Ut1utc+" WHERE (earthid="+row1+")";
それでも、このステートメントを実行しても何も起こりません....データベースは新しい値で更新されません.SQL更新ステートメントの何が問題なのかわかりません
ここに私の更新ボタンの背後にある私のコードの詳細があります。
jTable1.getModel().addTableModelListener(jTable1);
DefaultTableModel model=(DefaultTableModel)jTable1.getModel();
int row=jTable1.getSelectedRow();
int row1=row+1;
int column=0;
String years="";
String months="";
String days="";
String mjds="";
String ut1utc="";
int year1;
int month1;
int day1;
double mjd1;
double Ut1utc;
while(column!=7)
{
Object year=model.getValueAt(row, column);
years=year.toString();
year1=Integer.parseInt(years);
column++;
Object Month=model.getValueAt(row, column);
months=Month.toString();
month1=Integer.parseInt(months);
column++;
Object Day=model.getValueAt(row, column);
days=Day.toString();
day1=Integer.parseInt(days);
column++;
Object MJD=model.getValueAt(row, column);
mjds=MJD.toString();
mjd1=Double.parseDouble(mjds);
column++;
Object UT1UTCDELTA=model.getValueAt(row,column);
ut1utc=UT1UTCDELTA.toString();
Ut1utc=Double.parseDouble(ut1utc);
column++;
try
{
DBConnectionclass cm=new DBConnectionclass();
String sql="UPDATE TB_EARTHORIENTATIONPARAMETER SET year="+year1+", month="+month1+", day="+day1+", mjd="+mjd1+",ut1utcdelta="+Ut1utc+" WHERE (earthorientationparameterid="+row1+")";
Connection con1=null;
Statement stmt=null;
con1=cm.getConnection(); //get a connection object
stmt=con1.createStatement();
stmt.executeUpdate(sql);
//create an instance of the database connection class to create a connection object to beused to conect to database
//create a statement to process sql query
}
catch(Exception e)
{
JOptionPane.showMessageDialog(this, e.getMessage());
}
// TOD
}
これはコードを記述する最良の方法ではありませんが、mysql では問題なく機能しました。更新の選択を行う必要がありますか