本教程用于新版 ADO/WFC。
ASCimport com.ms.wfc.data.*;/** * ADOTutorial: * Purpose: Demonstrates the usage of Ado in Java. * opens a recordset through a command object * and illustrates update within a transaction */ public class ADOTutorial { public static String strConn = "Driver={SQL Server};SERVER=JDO_ODIN;DATABASE=JetQA;UID=testmod;PWD=testmod;";//odbc type conn string public static void main(String args[] ) { try { Connection conn = new Connection(); Command cmd = new Command(); Recordset rs = new Recordset(); int actErrorNum = 0; Field fld; AdoProperties fldProps;// 步骤 1—打开连接 conn.open(strConn); // 步骤 2—创建命令 cmd.setActiveConnection(conn); cmd.setCommandText("SELECT * from authors");// 步骤 2—将具有源的记录集作为命令对象打开 rs.setCursorLocation(AdoEnums.CursorLocation.CLIENT); rs.setCursorType(AdoEnums.CursorType.DYNAMIC); rs.setLockType(AdoEnums.LockType.BATCHOPTIMISTIC); rs.open (cmd); // 步骤 4—操作数据 fldProps = rs.getField("au_lname").getProperties(); fldProps.getItem("Optimize").setBoolean(true); rs.setSort("au_lname"); rs.setFilter("phone like '415*'"); rs.moveFirst(); while ( !rs.getEOF()) { StringBuffer strBuf = new StringBuffer(); System.out.println( " Name: " + rs.getField("au_fname").getString() + " " + rs.getField("au_lname").getString() + " Phone : " + rs.getField("phone").getString() ); //将字段的区域代码 415 更改为 779 fld = rs.getField("phone"); strBuf.append( fld.getString()); strBuf.setCharAt(0, '7'); strBuf.setCharAt(1, '7'); strBuf.setCharAt(2, '9'); //将字段设置为新值 fld.setString(strBuf.toString()); rs.moveNext(); }// 步骤 5—更新设置的字段值 conn.beginTrans(); //STEP6 Part A: Conclude the Update try { rs.updateBatch(); conn.commitTrans(); } // 步骤 6—结束更新 catch(com.ms.wfc.data.AdoException ex) { //出现错误,必须回卷事务 rs.setFilter(new Integer (AdoEnums.FilterGroup.CONFLICTINGRECORDS)); rs.moveFirst(); while(!rs.getEOF()) { //打印冲突记录 System.out.println(" Conflict : Name : "+ rs.getField("au_fname").getString() + " " + rs.getField("au_lname").getString() ); rs.moveNext(); } conn.rollbackTrans(); } System.out.println("type any character to continue..."); System.in.read(); } catch(Exception ex) { ex.printStackTrace(); } } }
VJ++ tutorial 教程到此结束。