| 
 除了以前发过的mysql的限制 之外,又发现在JDBC编程中的一个限制,代码如下,照说如果按ResultSet.TYPE_SCROLL_SENSITIVE,       ResultSet.CONCUR_UPDATABLE打开记录集,该ResultSet是可以update或insert的,但在mysql里某个表这样操作会抛出Exception,说记录集不能被修改(至少要包含某个主键一类的),于是随便在表上建立个主键就可以了。 
没有测试过ADO+MySql的,也没有测试过JDBC+其他数据库。其实对于简单的修改和增加操作,我更倾向于直接调用update/insert SQL语句,而不是打开记录集操作。 
  
public boolean AddOrUpdateCurrPrice(int nPrice) {   try {      String query = "SELECT * FROM futures_current_price WHERE product=?";      PreparedStatement stmt = oConn      .prepareStatement(query, ResultSet.TYPE_SCROLL_SENSITIVE,        ResultSet.CONCUR_UPDATABLE); 
       stmt.setString(1, sProduct);        ResultSet rs = stmt.executeQuery();        boolean bAdd = false;    if (rs.last()) {            DebugPrint("update");    } else {            DebugPrint("add");            rs.moveToInsertRow();            rs.updateString("product", sProduct);            bAdd = true;    }         rs.updateString("expiration", sExpiration);         rs.updateInt("price", nPrice);         if (bAdd)              rs.insertRow();        else              rs.updateRow(); 
       rs.close();        stmt.close();        return true;   } catch (Exception e) {             DebugPrint("FPrice Error " + e.getMessage());              return false;   }  }  
 
  |