我有这个代码更新SQL语句不工作
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 UPDATE语句
确定这里是更多的我的代码是在我的更新按钮后面。
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中工作得很好。我是否需要做更新选择
这将建议没有记录与表中存在的“+ row1 +”键 – 2012-07-31 20:49:45
我可以提到这个声明是与MySQL的工作,但当我切换到postgres它停止工作......我需要做一个更新选择 – rambokayambo 2012-07-31 21:48:36