The following listing shows the complete Java MobiLinkOrders class code used for this tutorial. For a step by step explanation, see Lesson 4: Create a Java class for MobiLink direct row handling.
import ianywhere.ml.script.*;
import java.io.*;
import java.sql.*;
public class MobiLinkOrders {
// Class level DBConnectionContext
DBConnectionContext _cc;
public MobiLinkOrders( DBConnectionContext cc )
throws IOException, FileNotFoundException {
// Declare a class-level DBConnectionContext
_cc = cc;
}
// 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();
try {
// Connect to the excel worksheet through ODBC
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection( "jdbc:odbc:excel_datasource" );
while( insertResultSet.next() ) {
// Get order comments
int _commentID = insertResultSet.getInt("comment_id");
int _orderID = insertResultSet.getInt("order_id");
String _specialComments = insertResultSet.getString("order_comment");
// Execute an insert statement to add the order comment to the worksheet
PreparedStatement st = con.prepareStatement("INSERT INTO [order_sheet$]"
+ "(order_id, comment_id, order_comment) VALUES (?,?,?)" );
st.setString( 1, Integer.toString(_orderID) );
st.setString( 2, Integer.toString(_commentID) );
st.setString( 3, _specialComments );
st.executeUpdate();
st.close();
}
con.close();
} catch(Exception ex) {
System.err.print("Exception: ");
System.err.println(ex.getMessage());
}
insertResultSet.close();
}
public void SetDownload() throws SQLException, IOException {
DownloadData download_d = _cc.getDownloadData();
DownloadTableData download_td = download_d.getDownloadTableByName( "OrderComments" );
// Prepared statement to compile upserts (inserts or updates).
PreparedStatement download_upserts = download_td.getUpsertPreparedStatement();
try {
// Connect to the excel worksheet through ODBC
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection( "jdbc:odbc:excel_datasource" );
// Retrieve all the rows in the worksheet
Statement st = con.createStatement();
ResultSet Excel_rs = st.executeQuery( "select * from [order_sheet$]" );
while (Excel_rs.next()) {
// Retrieve the row data
int Excel_comment_id = Excel_rs.getInt(1);
int Excel_order_id = Excel_rs.getInt(2);
String Excel_comment = Excel_rs.getString(3);
// Add the Excel data to the MobiLink download.
download_upserts.setInt( 1, Excel_comment_id );
download_upserts.setInt( 2, Excel_order_id );
download_upserts.setString( 3, Excel_comment );
download_upserts.executeUpdate();
}
// Close the excel result set, statement, and connection.
Excel_rs.close();
st.close();
con.close();
} catch (Exception ex) {
System.err.print("Exception: ");
System.err.println(ex.getMessage());
}
download_upserts.close();
}
} |
![]() |
Discuss this page in DocCommentXchange.
|
Copyright © 2010, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.0 |