The following is the complete MobiLinkOrders listing for Java direct row handling. For a step by step explanation, see Lesson 3: Write Java or .NET logic for processing direct row handling.
import ianywhere.ml.script.*; import java.io.*; import java.sql.*; public class MobiLinkOrders { // class level DBConnectionContext DBConnectionContext _cc; // java objects for file i/o FileWriter my_writer; BufferedReader my_reader; public MobiLinkOrders( DBConnectionContext cc ) throws IOException, FileNotFoundException { // declare a class-level DBConnectionContext _cc = cc; } public void writeOrderComment( int _commentID, int _orderID, String _comments ) throws IOException { if (my_writer == null) // a FileWriter for writing order comments my_writer = new FileWriter( "C:\\MLdirect\\orderComments.txt",true); // write out the order comments to remoteOrderComments.txt my_writer.write(_commentID + "\t" + _orderID + "\t" + _comments); my_writer.write( "\n" ); my_writer.flush(); } // method for the handle_UploadData synchronization event public void GetUpload( UploadData ut ) throws SQLException, IOException { // get an UploadedTableData for OrderComments UploadedTableData orderCommentsTbl = ut.getUploadedTableByName("OrderComments"); // get inserts uploaded by the MobiLink client ResultSet insertResultSet = orderCommentsTbl.getInserts(); while ( insertResultSet.next() ) { // get order comments int _commentID = insertResultSet.getInt("comment_id"); int _orderID = insertResultSet.getInt("order_id"); String _specialComments = insertResultSet.getString("order_comment"); if (_specialComments != null) { writeOrderComment(_commentID,_orderID,_specialComments); } } insertResultSet.close(); } public void SetDownload() throws SQLException, IOException { DownloadData download_d = _cc.getDownloadData(); DownloadTableData download_td = download_d.getDownloadTableByName( "OrderComments" ); PreparedStatement update_ps = download_td.getUpsertPreparedStatement(); // a BufferedReader for reading in responses if (my_reader == null) my_reader = new BufferedReader(new FileReader( "c:\\MLdirect\\orderResponses.txt")); // get the next line from orderResponses String commentLine; commentLine = my_reader.readLine(); // send comment responses down to clients while (commentLine != null) { // get the next line from orderResponses.txt String[] response_details = commentLine.split("\t"); if (response_details.length != 3) { System.err.println("Error reading from orderResponses.txt"); System.err.println("Error setting direct row handling download"); return; } int comment_id = Integer.parseInt(response_details[0]); int order_id = Integer.parseInt(response_details[1]); String updated_comment = response_details[2]; // set an order comment response in the MobiLink download update_ps.setInt(1, comment_id); update_ps.setInt(2, order_id); update_ps.setString(3, updated_comment); update_ps.executeUpdate(); // get next line commentLine = my_reader.readLine(); } update_ps.close(); } public void EndDownload() throws IOException { // close i/o resources if (my_reader != null) my_reader.close(); if (my_writer != null) my_writer.close(); } } |
Discuss this page in DocCommentXchange. Send feedback about this page using email. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |