001: /*
002:
003: Derby - Class org.apache.derbyTesting.functionTests.tests.derbynet.executeUpdate
004:
005: Licensed to the Apache Software Foundation (ASF) under one or more
006: contributor license agreements. See the NOTICE file distributed with
007: this work for additional information regarding copyright ownership.
008: The ASF licenses this file to You under the Apache License, Version 2.0
009: (the "License"); you may not use this file except in compliance with
010: the License. You may obtain a copy of the License at
011:
012: http://www.apache.org/licenses/LICENSE-2.0
013:
014: Unless required by applicable law or agreed to in writing, software
015: distributed under the License is distributed on an "AS IS" BASIS,
016: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
017: See the License for the specific language governing permissions and
018: limitations under the License.
019:
020: */
021:
022: package org.apache.derbyTesting.functionTests.tests.derbynet;
023:
024: import java.sql.Connection;
025: import java.sql.DriverManager;
026: import java.sql.Statement;
027: import java.sql.PreparedStatement;
028: import java.sql.ResultSet;
029:
030: import org.apache.derby.tools.ij;
031:
032: /**
033: This test tests the JDBC Statement executeUpdate method. Since IJ will eventually
034: just use execute rather then executeUpdate, I want to make sure that executeUpdate
035: is minimally covered.
036: */
037:
038: public class executeUpdate {
039:
040: public static void main(String args[]) {
041: try {
042: System.out.println("executeUpdate Test Starts");
043: // Initialize JavaCommonClient Driver.
044: ij.getPropertyArg(args);
045: Connection conn = ij.startJBMS();
046:
047: if (conn == null) {
048: System.out.println("conn didn't work");
049: return;
050: }
051: Statement stmt = conn.createStatement();
052: int rowCount = stmt
053: .executeUpdate("create table exup(a int)");
054: if (rowCount != 0)
055: System.out
056: .println("FAIL - non zero return count on create table");
057: else
058: System.out.println("PASS - create table");
059: rowCount = stmt.executeUpdate("insert into exup values(1)");
060: if (rowCount != 1)
061: System.out.println("FAIL - expected row count 1, got "
062: + rowCount);
063: else
064: System.out.println("PASS - insert 1 row");
065: rowCount = stmt
066: .executeUpdate("insert into exup values(2),(3),(4)");
067: if (rowCount != 3)
068: System.out.println("FAIL - expected row count 3, got "
069: + rowCount);
070: else
071: System.out.println("PASS - insert 3 rows");
072: System.out.println("Rows in table should be 1,2,3,4");
073: ResultSet rs = stmt.executeQuery("select * from exup");
074: int i = 1;
075: boolean fail = false;
076: int val;
077: while (rs.next()) {
078: if (i++ != (val = rs.getInt(1))) {
079: System.out.println("FAIL - expecting " + i
080: + " got " + val);
081: fail = true;
082: }
083: }
084: if (i != 5)
085: System.out.println("FAIL - too many rows in table");
086: else if (!fail)
087: System.out.println("PASS - correct rows in table");
088: rs.close();
089: rowCount = stmt.executeUpdate("drop table exup");
090: if (rowCount != 0)
091: System.out
092: .println("FAIL - non zero return count on drop table");
093: else
094: System.out.println("PASS - drop table");
095: stmt.close();
096: System.out.println("executeUpdate Test ends");
097:
098: } catch (java.sql.SQLException e) {
099: e.printStackTrace();
100: } catch (Exception e) {
101: e.printStackTrace();
102: }
103: }
104: }
|