本教程用于新版 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—?jiǎng)?chuàng)建命令
cmd.setActiveConnection(conn);
cmd.setCommandText("SELECT * from authors");
// 步驟 2—將具有源的記錄集作為命令對(duì)象打開
rs.setCursorLocation(AdoEnums.CursorLocation.CLIENT);
rs.setCursorType(AdoEnums.CursorType.DYNAMIC);
rs.setLockType(AdoEnums.LockType.BATCHOPTIMISTIC);
rs.open (cmd);
// 步驟 4—操作數(shù)據(jù)
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() );
//將字段的區(qū)域代碼 415 更改為 779
fld = rs.getField("phone");
strBuf.append( fld.getString());
strBuf.setCharAt(0, '7');
strBuf.setCharAt(1, '7');
strBuf.setCharAt(2, '9');
//將字段設(shè)置為新值
fld.setString(strBuf.toString());
rs.moveNext();
}
// 步驟 5—更新設(shè)置的字段值
conn.beginTrans();
//STEP6 Part A: Conclude the Update
try
{
rs.updateBatch();
conn.commitTrans();
}
// 步驟 6—結(jié)束更新
catch(com.ms.wfc.data.AdoException ex)
{
//出現(xiàn)錯(cuò)誤,必須回卷事務(wù)
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 教程到此結(jié)束。