DB2WSE Examples
From Wiki
|
| User Guide |
SQL / XML Examples
Example 1: simple SELECT statement
Request
<DB2WSEREQ> <STATEMENT> select * from PETSTORE/ORDERS </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
or, in REST format
http://red.rpg-xml.com/db2wse/demo:demo/petstore/orders
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> select * from PETSTORE/ORDERS </STATEMENT> </DB2WSEREQ> <RETURNEDROWS>1</RETURNEDROWS> <MOREROWS>NO</MOREROWS> </HEADER> <ROW ROWNBR="1"> <ORDERID>1</ORDERID> <USERID>ACID</USERID> <ORDERDATE>2009-02-01</ORDERDATE> <SHIPADDR1>1st St</SHIPADDR1> <SHIPADDR2 /> <SHIPCITY>York</SHIPCITY> <SHIPSTATE>PA</SHIPSTATE> <SHIPZIP>17404</SHIPZIP> <SHIPCOUNTRY>USA</SHIPCOUNTRY> <BILLADDR1>1st St</BILLADDR1> <BILLADDR2 /> <BILLCITY>York</BILLCITY> <BILLSTATE>PA</BILLSTATE> <BILLZIP>17404</BILLZIP> <BILLCOUNTRY>USA</BILLCOUNTRY> <COURIER>FED-EX</COURIER> <TOTALPRICE>1,093.43</TOTALPRICE> <BILLTOFIRSTNAME>Dave</BILLTOFIRSTNAME> <BILLTOLASTNAME>Smith</BILLTOLASTNAME> <SHIPTOFIRSTNAME>Dave</SHIPTOFIRSTNAME> <SHIPTOLASTNAME>Smith</SHIPTOLASTNAME> <CREDITCARD>123456789</CREDITCARD> <EXPRDATE>201201</EXPRDATE> <CARDTYPE>VISA</CARDTYPE> <LOCALE>US</LOCALE> </ROW> </DB2WSERSP>
Example 2: complex SELECT statement
Request
<DB2WSEREQ> <STATEMENT> select * from petstore/product where category = 'FISH' </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> select * from petstore/product where category = 'FISH' </STATEMENT> </DB2WSEREQ> <RETURNEDROWS>4</RETURNEDROWS> <MOREROWS>NO</MOREROWS> </HEADER> <ROW ROWNBR="1"> <PRODUCTID>FI-SW-01</PRODUCTID> <CATEGORY>FISH</CATEGORY> <NAME>Angelfish</NAME> <DESCN>Salt Water fish from Australia</DESCN> </ROW> <ROW ROWNBR="2"> <PRODUCTID>FI-SW-02</PRODUCTID> <CATEGORY>FISH</CATEGORY> <NAME>Tiger Shark</NAME> <DESCN>Salt Water fish from Australia</DESCN> </ROW> <ROW ROWNBR="3"> <PRODUCTID>FI-FW-01</PRODUCTID> <CATEGORY>FISH</CATEGORY> <NAME>Koi</NAME> <DESCN>Fresh Water fish from Japan</DESCN> </ROW> <ROW ROWNBR="4"> <PRODUCTID>FI-FW-02</PRODUCTID> <CATEGORY>FISH</CATEGORY> <NAME>Goldfish</NAME> <DESCN>Fresh Water fish from China</DESCN> </ROW> </DB2WSERSP>
Example 3 - simple SELECT statement using FIRSTROW and FORROWS attributes
Request
<DB2WSEREQ> <STATEMENT FIRSTROW="3" FORROWS="2"> select itemid, status from petstore/item </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT FIRSTROW="3" FORROWS="2"> select itemid, status from petstore/item </STATEMENT> </DB2WSEREQ> <RETURNEDROWS>2</RETURNEDROWS> <MOREROWS>YES</MOREROWS> </HEADER> <ROW ROWNBR="3"> <ITEMID>EST-3</ITEMID> <STATUS>P</STATUS> </ROW> <ROW ROWNBR="4"> <ITEMID>EST-4</ITEMID> <STATUS>P</STATUS> </ROW> </DB2WSERSP>
Example 4 - complex SELECT statement using Inner Join
Request
<DB2WSEREQ> <STATEMENT> select o.orderid, o.userid, o.orderdate, o.totalprice, o.billtolastname, i.linenum, i.itemid, i.quantity, i.unitprice from petstore/orders o, petstore/lineitem i where o.orderid = i.orderid </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> select o.orderid, o.userid, o.orderdate, o.totalprice, o.billtolastname, i.linenum, i.itemid, i.quantity, i.unitprice from petstore/orders o, petstore/lineitem i where o.orderid = i.orderid </STATEMENT> </DB2WSEREQ> <RETURNEDROWS>2</RETURNEDROWS> <MOREROWS>NO</MOREROWS> </HEADER> <ROW ROWNBR="1"> <ORDERID>73</ORDERID> <USERID>ACID</USERID> <ORDERDATE>02/01/09</ORDERDATE> <TOTALPRICE>1093.43</TOTALPRICE> <BILLTOLASTNAME>Smith</BILLTOLASTNAME> <LINENUM>1</LINENUM> <ITEMID>EST-1</ITEMID> <QUANTITY>2</QUANTITY> <UNITPRICE>9.45</UNITPRICE> </ROW> <ROW ROWNBR="2"> <ORDERID>73</ORDERID> <USERID>ACID</USERID> <ORDERDATE>02/01/09</ORDERDATE> <TOTALPRICE>1093.43</TOTALPRICE> <BILLTOLASTNAME>Smith</BILLTOLASTNAME> <LINENUM>2</LINENUM> <ITEMID>EST-8</ITEMID> <QUANTITY>2</QUANTITY> <UNITPRICE>11.23</UNITPRICE> </ROW> </DB2WSERSP>
Example 5 - simple SELECT statement using FULL response type
Request
<DB2WSEREQ> <STATEMENT RSPTYPE="full"> select * from petstore/lineitem </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT RSPTYPE="full"> select * from petstore/lineitem </STATEMENT> </DB2WSEREQ> <RETURNEDROWS>2</RETURNEDROWS> <MOREROWS>NO</MOREROWS> </HEADER> <COLDEFS> <COLDEF COLSEQ="1" COLNAME="ORDERID" COLTEXT="Order identifier" COLTYPE="Large integer" COLLENGTH="4" /> <COLDEF COLSEQ="2" COLNAME="LINENUM" COLTEXT="Line number" COLTYPE="Large integer" COLLENGTH="4" /> <COLDEF COLSEQ="3" COLNAME="ITEMID" COLTEXT="Item identifier" COLTYPE="Varying character" COLLENGTH="10" /> <COLDEF COLSEQ="4" COLNAME="QUANTITY" COLTEXT="Quantity" COLTYPE="Large integer" COLLENGTH="4" /> <COLDEF COLSEQ="5" COLNAME="UNITPRICE" COLTEXT="Unit price" COLTYPE="Packed decimal" COLLENGTH="10" COLDECPOS="2" /> </COLDEFS> <ROW ROWNBR="1"> <C1>1</C1> <C2>1</C2> <C3>EST-1</C3> <C4>2</C4> <C5>9.45</C5> </ROW> <ROW ROWNBR="2"> <C1>1</C1> <C2>2</C2> <C3>EST-8</C3> <C4>7</C4> <C5>11.23</C5> </ROW> </DB2WSERSP>
Example 6 - DELETE statement
Request
<DB2WSEREQ> <STATEMENT> delete from petstore/item where category = 'REPTILE' </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> delete from petstore/item where category = 'REPTILE' </STATEMENT> </DB2WSEREQ> </HEADER> <RSPCODE> 2 </RSPCODE> <RSPTEXT> 2 rows deleted from PETSTORE/ITEM </RSPTEXT> </DB2WSERSP>
Example 7 - INSERT statement
Request
<DB2WSEREQ> <STATEMENT> insert into petstore/product values('RP-LI-03', 'REPTILES', 'Gecko', '<image src="../images/lizard3.gif">Cool green lizard') </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> insert into petstore/product values('RP-LI-03', 'REPTILES', 'Gecko', '<image src="../images/lizard3.gif">Cool green lizard') </STATEMENT> </DB2WSEREQ> </HEADER> <RSPCODE> 1 </RSPCODE> <RSPTEXT> 1 row inserted into PETSTORE/PRODUCT </RSPTEXT> </DB2WSERSP>
Example 8 - UPDATE statement
Request
<DB2WSEREQ> <STATEMENT> update petstore/item set attr2 = 'INVALID' where attr2 is null </STATEMENT> <USER>DEMO</USER> <PASSWORD>DEMO</PASSWORD> </DB2WSEREQ>
Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT> update petstore/item set attr2 = 'INVALID' where attr2 is null </STATEMENT> </DB2WSEREQ> </HEADER> <RSPCODE> 28 </RSPCODE> <RSPTEXT> 28 rows updated in PETSTORE/ITEM </RSPTEXT> </DB2WSERSP>
Java Examples
Example 1
Java Source Code
/* * This example program is meant to show a very simple usage of DB2WSE so that a Java * programmer can be up and running quickly without a lot of environment setup. Simply * load this program into your IDE of choice (i.e. Eclipse) and invoke the Java program. */ package com.krengeltech.db2wse.example; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.net.HttpURLConnection; import java.net.URL; public class Example1 { public static void main(String[] args) { // The server red.rpg-xml.com is KrengelTech's. Change this value // to communicate with DB2WSE on your IBM i. String db2wseURL = "http://red.rpg-xml.com/db2wse/"; // Simple SQL SELECT statement String xmlReq = "<DB2WSEREQ><STATEMENT>select * from QIWS/QCUSTCDT</STATEMENT><USER>demo</USER><PASSWORD>demo</PASSWORD></DB2WSEREQ>"; execURL(db2wseURL, xmlReq); } static void execURL(String urlString, String postContent) { try { // Create the HTTP connection URL url = new URL(urlString); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setDoOutput(true); conn.setDoInput(true); conn.setRequestMethod("POST"); // Write the XML request to the OutputStream OutputStream outStream = conn.getOutputStream(); outStream.write(postContent.getBytes()); outStream.close(); // Convert the response InputStream to a string and write it to the console. System.out.println(streamToString(conn.getInputStream())); } catch (Exception e) { System.out.println(e); } } // "Ease of use" method that will convert an InputStream to a string. static String streamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); } }
Console Response
<DB2WSERSP> <HEADER> <DB2WSEREQ> <STATEMENT>select * from QIWS/QCUSTCDT</STATEMENT> </DB2WSEREQ> <RETURNEDROWS>12</RETURNEDROWS> <MOREROWS>NO</MOREROWS> </HEADER> <ROW ROWNBR="1"> <CUSNUM>938472</CUSNUM> <LSTNAM>Henning</LSTNAM> <INIT>G K</INIT> <STREET>4859 Elm Ave</STREET> <CITY>Dallas</CITY> <STATE>TX</STATE> <ZIPCOD>75217</ZIPCOD> <CDTLMT>5000</CDTLMT> <CHGCOD>3</CHGCOD> <BALDUE>37.00</BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="2"> <CUSNUM>839283</CUSNUM> <LSTNAM>Jones</LSTNAM> <INIT>B D</INIT> <STREET>21B NW 135 St</STREET> <CITY>Clay</CITY> <STATE>NY</STATE> <ZIPCOD>13041</ZIPCOD> <CDTLMT>400</CDTLMT> <CHGCOD>1</CHGCOD> <BALDUE>100.00</BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="3"> <CUSNUM>392859</CUSNUM> <LSTNAM>Vine</LSTNAM> <INIT>S S</INIT> <STREET>PO Box 79</STREET> <CITY>Broton</CITY> <STATE>VT</STATE> <ZIPCOD>5046</ZIPCOD> <CDTLMT>700</CDTLMT> <CHGCOD>1</CHGCOD> <BALDUE>439.00</BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="4"> <CUSNUM>938485</CUSNUM> <LSTNAM>Johnson</LSTNAM> <INIT>J A</INIT> <STREET>3 Alpine Way</STREET> <CITY>Helen</CITY> <STATE>GA</STATE> <ZIPCOD>30545</ZIPCOD> <CDTLMT>9999</CDTLMT> <CHGCOD>2</CHGCOD> <BALDUE>3,987.50</BALDUE> <CDTDUE>33.50</CDTDUE> </ROW> <ROW ROWNBR="5"> <CUSNUM>397267</CUSNUM> <LSTNAM>Tyron</LSTNAM> <INIT>W E</INIT> <STREET>13 Myrtle Dr</STREET> <CITY>Hector</CITY> <STATE>NY</STATE> <ZIPCOD>14841</ZIPCOD> <CDTLMT>1000</CDTLMT> <CHGCOD>1</CHGCOD> <BALDUE></BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="6"> <CUSNUM>389572</CUSNUM> <LSTNAM>Stevens</LSTNAM> <INIT>K L</INIT> <STREET>208 Snow Pass</STREET> <CITY>Denver</CITY> <STATE>CO</STATE> <ZIPCOD>80226</ZIPCOD> <CDTLMT>400</CDTLMT> <CHGCOD>1</CHGCOD> <BALDUE>58.75</BALDUE> <CDTDUE>1.50</CDTDUE> </ROW> <ROW ROWNBR="7"> <CUSNUM>846283</CUSNUM> <LSTNAM>Alison</LSTNAM> <INIT>J S</INIT> <STREET>787 Lake Dr</STREET> <CITY>Isle</CITY> <STATE>MN</STATE> <ZIPCOD>56342</ZIPCOD> <CDTLMT>5000</CDTLMT> <CHGCOD>3</CHGCOD> <BALDUE>10.00</BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="8"> <CUSNUM>475938</CUSNUM> <LSTNAM>Doe</LSTNAM> <INIT>J W</INIT> <STREET>59 Archer Rd</STREET> <CITY>Sutter</CITY> <STATE>CA</STATE> <ZIPCOD>95685</ZIPCOD> <CDTLMT>700</CDTLMT> <CHGCOD>2</CHGCOD> <BALDUE>250.00</BALDUE> <CDTDUE>100.00</CDTDUE> </ROW> <ROW ROWNBR="9"> <CUSNUM>693829</CUSNUM> <LSTNAM>Thomas</LSTNAM> <INIT>A N</INIT> <STREET>3 Dove Circle</STREET> <CITY>Casper</CITY> <STATE>WY</STATE> <ZIPCOD>82609</ZIPCOD> <CDTLMT>9999</CDTLMT> <CHGCOD>2</CHGCOD> <BALDUE></BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="10"> <CUSNUM>593029</CUSNUM> <LSTNAM>Williams</LSTNAM> <INIT>E D</INIT> <STREET>485 SE 2 Ave</STREET> <CITY>Dallas</CITY> <STATE>TX</STATE> <ZIPCOD>75218</ZIPCOD> <CDTLMT>200</CDTLMT> <CHGCOD>1</CHGCOD> <BALDUE>25.00</BALDUE> <CDTDUE></CDTDUE> </ROW> <ROW ROWNBR="11"> <CUSNUM>192837</CUSNUM> <LSTNAM>Lee</LSTNAM> <INIT>F L</INIT> <STREET>5963 Oak St</STREET> <CITY>Hector</CITY> <STATE>NY</STATE> <ZIPCOD>14841</ZIPCOD> <CDTLMT>700</CDTLMT> <CHGCOD>2</CHGCOD> <BALDUE>489.50</BALDUE> <CDTDUE>.50</CDTDUE> </ROW> <ROW ROWNBR="12"> <CUSNUM>583990</CUSNUM> <LSTNAM>Abraham</LSTNAM> <INIT>M T</INIT> <STREET>392 Mill St</STREET> <CITY>Isle</CITY> <STATE>MN</STATE> <ZIPCOD>56342</ZIPCOD> <CDTLMT>9999</CDTLMT> <CHGCOD>3</CHGCOD> <BALDUE>500.00</BALDUE> <CDTDUE></CDTDUE> </ROW> </DB2WSERSP>
Example 2
Java Source Code
/* * Copyright Krengel Technology Inc. 2009 * * This example program is meant to show how to make use of some supporting classes * Krengel Tech created to facilitate the ease of use in communicating with the * DB2 Web Service Enabler. */ package com.krengeltech.db2wse.example; import com.krengeltech.db2wse.DB2WSE; import com.krengeltech.db2wse.DB2WSEError; import com.krengeltech.db2wse.DB2WSERow; import com.krengeltech.db2wse.DB2WSEReq; import com.krengeltech.db2wse.DB2WSERsp; public class Example2 { public static void main(String[] args) { // Populate the request object with necessary information DB2WSEReq req = new DB2WSEReq(); req.setUrl("http://red.rpg-xml.com/db2wse/"); req.setUser("demo"); req.setPassword("demo"); req.setSqlStatement("select * from QIWS/QCUSTCDT"); try { // Send the DB request up to the server and receive the response back. DB2WSERsp rsp = DB2WSE.execute(req); // Iterate through the results and write the customer number and last name // out to the console. int count = rsp.getReturnedRows(); for(int x=0; x < count; x++){ DB2WSERow row = rsp.getRow(x); System.out.println(row.getColValue("LSTNAM") + "(" + row.getColValue("CUSNUM") + ")"); System.out.println(row.getColValue("STREET") +"\n"+ row.getColValue("CITY") +","+ row.getColValue("STATE") +","+ row.getColValue("ZIPCOD")); System.out.println(); } } catch (DB2WSEError e) { e.printStackTrace(); } } }
Console Response
//
// Example of output
//
// Henning(938472)
// 4859 Elm Ave
// Dallas,TX,75217
//
// Jones(839283)
// 21B NW 135 St
// Clay,NY,13041
//
// Vine(392859)
// PO Box 79
// Broton,VT,5046
//
// Johnson(938485)
// 3 Alpine Way
// Helen,GA,30545
//
// Tyron(397267)
// 13 Myrtle Dr
// Hector,NY,14841
//
// Stevens(389572)
// 208 Snow Pass
// Denver,CO,80226
//
// Alison(846283)
// 787 Lake Dr
// Isle,MN,56342
//
// Doe(475938)
// 59 Archer Rd
// Sutter,CA,95685
//
// Thomas(693829)
// 3 Dove Circle
// Casper,WY,82609
//
// Williams(593029)
// 485 SE 2 Ave
// Dallas,TX,75218
//
// Lee(192837)
// 5963 Oak St
// Hector,NY,14841
//
// Abraham(583990)
// 392 Mill St
// Isle,MN,56342Example 3
Java Source Code
/* * Copyright Krengel Technology Inc. 2009 * * This example program is meant to show how to make use of some supporting classes * Krengel Tech created to facilitate the ease of use in communicating with the * DB2 Web Service Enabler. In particular this program shows how to retrieve a table * definition. */ package com.krengeltech.db2wse.example; import com.krengeltech.db2wse.DB2WSE; import com.krengeltech.db2wse.DB2WSEColDef; import com.krengeltech.db2wse.DB2WSEError; import com.krengeltech.db2wse.DB2WSEReq; import com.krengeltech.db2wse.DB2WSERsp; public class Example3 { public static void main(String[] args) { // Populate the request object with necessary information DB2WSEReq req = new DB2WSEReq(); req.setUrl("http://red.rpg-xml.com/db2wse/"); req.setUser("demo"); req.setPassword("demo"); req.setRspType(DB2WSEReq.RSPTYP_COLDEFS); req.setSqlStatement("select * from QIWS/QCUSTCDT"); // Send the DB request up to the server and receive the response back. DB2WSERsp rsp = null; try { rsp = DB2WSE.execute(req); // Iterate through the column definition results and write them out to the console. int count = rsp.getColDefCount(); for (int x = 0; x < count; x++) { DB2WSEColDef cd = rsp.getColDef(x); System.out.println(cd.getSeq() + " - " + cd.getName() + " (" + cd.getText() + ")"); System.out.println(cd.getType() + " (" + cd.getLength() + "," + cd.getDecpos() + ")"); System.out.println(); } } catch (DB2WSEError e) { e.printStackTrace(); } } }
Console Response
//
// Example of output
//
// 1 - CUSNUM (Customer number field)
// Zoned decimal (6,0)
//
// 2 - LSTNAM (Last name field)
// Fixed character (8,0)
//
// 3 - INIT (First and middle initial field)
// Fixed character (3,0)
//
// 4 - STREET (Street address field)
// Fixed character (13,0)
//
// 5 - CITY (City field)
// Fixed character (6,0)
//
// 6 - STATE (State abbreviation field)
// Fixed character (2,0)
//
// 7 - ZIPCOD (Zip code field)
// Zoned decimal (5,0)
//
// 8 - CDTLMT (Credit limit field)
// Zoned decimal (4,0)
//
// 9 - CHGCOD (Charge code field)
// Zoned decimal (1,0)
//
// 10 - BALDUE (Balance due field)
// Zoned decimal (6,2)
//
// 11 - CDTDUE (Credit due field)
// Zoned decimal (6,2)Example 4
Java Source Code
/* * Copyright Krengel Technology Inc. 2009 * * This example program is meant to show how to make use of some supporting classes * Krengel Tech created to facilitate the ease of use in communicating with the * DB2 Web Service Enabler. In particular this one shows how to check for errors * after sending an SQL request to the server. */ package com.krengeltech.db2wse.example; import com.krengeltech.db2wse.DB2WSE; import com.krengeltech.db2wse.DB2WSEError; import com.krengeltech.db2wse.DB2WSEReq; import com.krengeltech.db2wse.DB2WSERsp; public class Example4 { public static void main(String[] args) { // Populate the request object with necessary information DB2WSEReq req = new DB2WSEReq(); req.setUrl("http://red.rpg-xml.com/db2wse/"); req.setUser("demo"); req.setPassword("demo"); req.setSqlStatement("select from QIWS.QCUSTCDT"); // Note the absence of an asterisk. // Send the DB request up to the server and receive the response back. try { DB2WSERsp rsp = DB2WSE.execute(req); // This code should never be reached because of the incorrect SQL SELECT statement // and instead an error should occur. System.out.println("Response Code:" + rsp.getRspCode()); } catch (DB2WSEError e) { System.out.println(e.getText()); } } }
Console Response
//
// Example of output
//
// DWE0010: Unhandled exception in DB2WSE(): DWE0011: API call error in rtvFilDta(): CPF5715: File QIWS.QCUST in library *LIBL not found.Example 5
Java Source Code
/* * Copyright Krengel Technology Inc. 2009 * * This example program is meant to show how to make use of some supporting classes * Krengel Tech created to facilitate the ease of use in communicating with the * DB2 Web Service Enabler. In particular this one shows how to INSERT a new row, * UPDATE that row, and then DELETE it. */ package com.krengeltech.db2wse.example; import java.io.IOException; import com.krengeltech.db2wse.DB2WSE; import com.krengeltech.db2wse.DB2WSEError; import com.krengeltech.db2wse.DB2WSEReq; import com.krengeltech.db2wse.DB2WSERsp; public class Example5 { public static void main(String[] args) { // Populate the request object with necessary information DB2WSEReq req = new DB2WSEReq(); req.setUrl("http://red.rpg-xml.com/db2wse/"); req.setUser("demo"); req.setPassword("demo"); try { // // Insert a row // req.setSqlStatement("INSERT INTO QIWS/QCUSTCDT (CUSNUM,LSTNAM,INIT,STREET,CITY,STATE,ZIPCOD,CDTLMT,CHGCOD,BALDUE,CDTDUE) VALUES(9999,'Bartell','AB','123 Center Ln','Mnkto','MN',56001,1.00,'1',2.00,3.00)"); DB2WSERsp rsp = DB2WSE.execute(req); System.out.println("RspCode:" + rsp.getRspCode() + " RspText:" + rsp.getRspText()); // Put a pause in here so you can view the inserted row. System.out.print("Press enter after reviewing the inserted record"); System.in.read(); // // Update a row // req.setSqlStatement("UPDATE QIWS/QCUSTCDT SET STREET = '44' WHERE CUSNUM=9999"); rsp = DB2WSE.execute(req); System.out.println("RspCode:" + rsp.getRspCode() + " RspText:" + rsp.getRspText()); // Put a pause in here so you can view the inserted row. System.out.print("Press enter after reviewing the updated record"); System.in.read(); // // Delete a row // req.setSqlStatement("DELETE FROM QIWS/QCUSTCDT WHERE CUSNUM=9999"); rsp = DB2WSE.execute(req); System.out.println("RspCode:" + rsp.getRspCode() + " RspText:" + rsp.getRspText()); } catch (DB2WSEError e) { System.out.println(e.getMessage()); } catch (IOException e1) { e1.printStackTrace(); } } }
Console Response
//
// Example of output
//
// RspCode:1 RspText:1 row inserted into QIWS/QCUSTCDT
// Press enter after reviewing the inserted record
// RspCode:1 RspText:1 row updated in QIWS/QCUSTCDT
// Press enter after reviewing the updated record
// RspCode:1 RspText:1 row deleted from QIWS/QCUSTCDT