package Client; import com.mobileapps.pcre.*; public class SQLNative { private static String myArgs[]; public SQLNative() { super(); } public static void main ( String args[] ) { if ( args.length != 1 ) { System.out.println ( "Usage is: SQLNative " ); return; } myArgs = args; SQLNative mySQLNative = new SQLNative(); mySQLNative.makeReport ( args[0] ); } private void makeReport( String password ) { PCREApplicationClient client = new PCREApplicationClient("randy1.mobileapps.com"); try { PCREParameterFieldInfo parameterInfo; client.setRetrieveMode(true); client.Connect(); PCREEngine engine = client.OpenEngine(); // log into the SQL Server through the native SQL driver PCRELogOnInfo logOnInfo = new PCRELogOnInfo(); logOnInfo.ServerName = "mssqltest"; logOnInfo.DatabaseName = "Northwind"; logOnInfo.UserID = "dummyuser"; logOnInfo.Password = password; /* boolean logOnStatus = engine.LogOnServer ( "P2SSQL.DLL", logOnInfo ); if ( logOnStatus ) System.out.println ( "Log on succeeded" ); else System.out.println ( "Log on failed" ); */ PCREJob job = engine.OpenJob("C:\\MobileApps\\pcre\\SampleReports\\randySQLNative.rpt" ); job.SetNthTableLogOnInfo(0, logOnInfo, true); // update the parameters used by the SQL stored procedure // set parameter bit datatype parameterInfo = job.GetNthParameterField(0); parameterInfo.CurrentValue.viBoolean(false); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(0, parameterInfo); // set parameter char datatype parameterInfo = job.GetNthParameterField(1); parameterInfo.CurrentValue.viString("randytestupdate"); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(1, parameterInfo); // set parameter datetime datatype parameterInfo = job.GetNthParameterField(3); newDate = new short[6]; newDate[0] = 1999; //year newDate[1] = 3; //month newDate[2] = 4; //day newDate[3] = 12; //hour newDate[4] = 3; //minute newDate[5] = 15; //second parameterInfo.CurrentValue.viDateTime(newDate); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(3, parameterInfo); // set parameter decimal datatype parameterInfo = job.GetNthParameterField(3); parameterInfo.CurrentValue.viNumber(566); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(3, parameterInfo); // set parameter float datatype parameterInfo = job.GetNthParameterField(4); parameterInfo.CurrentValue.viNumber(566.33); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(4, parameterInfo); // set parameter int datatype parameterInfo = job.GetNthParameterField(5); parameterInfo.CurrentValue.viNumber(566); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(5, parameterInfo); // set parameter money datatype parameterInfo = job.GetNthParameterField(6); parameterInfo.CurrentValue.viCurrency(1000.23); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(6, parameterInfo); // set parameter nchar datatype parameterInfo = job.GetNthParameterField(7); parameterInfo.CurrentValue.viString("Hello there Randy"); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(7, parameterInfo); // set parameter nvarchar datatype parameterInfo = job.GetNthParameterField(8); parameterInfo.CurrentValue.viString("Hello there Randy"); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(8, parameterInfo); // set parameter real datatype parameterInfo = job.GetNthParameterField(9); parameterInfo.CurrentValue.viNumber(123.66); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(9, parameterInfo); // set parameter smalldatatime datatype parameterInfo = job.GetNthParameterField(10); newDate[0] = 1999; newDate[1] = 3; newDate[2] = 4; newDate[3] = 12; newDate[4] = 3; newDate[5] = 15; parameterInfo.CurrentValue.viDateTime(newDate); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(10, parameterInfo); // set parameter smallint datatype parameterInfo = job.GetNthParameterField(11); parameterInfo.CurrentValue.viNumber(566); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(11, parameterInfo); // set parameter smallmoney datatype parameterInfo = job.GetNthParameterField(12); parameterInfo.CurrentValue.viCurrency(23.66); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(12, parameterInfo); // set parameter varchar datatype parameterInfo = job.GetNthParameterField(13); parameterInfo.CurrentValue.viString("Hello there Randy"); parameterInfo.CurrentValueSet = true; job.SetNthParameterField(13, parameterInfo); // output the report in HTML format PCREHTMLJobExportInfo info = new PCREHTMLJobExportInfo("e:\\randy\\client\\randySQLNative.html"); job.ExportTo(info); job.Start(); job.Close(); engine.Close(); } catch ( PCREError e ) { e.Report(); } client.Quit(); } }