| GNU Classpath (0.95) | |
| Frames | No Frames |
1: /* ResultSet.java -- A SQL statement result set. 2: Copyright (C) 1999, 2000, 2002, 2006 Free Software Foundation, Inc. 3: 4: This file is part of GNU Classpath. 5: 6: GNU Classpath is free software; you can redistribute it and/or modify 7: it under the terms of the GNU General Public License as published by 8: the Free Software Foundation; either version 2, or (at your option) 9: any later version. 10: 11: GNU Classpath is distributed in the hope that it will be useful, but 12: WITHOUT ANY WARRANTY; without even the implied warranty of 13: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 14: General Public License for more details. 15: 16: You should have received a copy of the GNU General Public License 17: along with GNU Classpath; see the file COPYING. If not, write to the 18: Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 19: 02110-1301 USA. 20: 21: Linking this library statically or dynamically with other modules is 22: making a combined work based on this library. Thus, the terms and 23: conditions of the GNU General Public License cover the whole 24: combination. 25: 26: As a special exception, the copyright holders of this library give you 27: permission to link this library with independent modules to produce an 28: executable, regardless of the license terms of these independent 29: modules, and to copy and distribute the resulting executable under 30: terms of your choice, provided that you also meet, for each linked 31: independent module, the terms and conditions of the license of that 32: module. An independent module is a module which is not derived from 33: or based on this library. If you modify this library, you may extend 34: this exception to your version of the library, but you are not 35: obligated to do so. If you do not wish to do so, delete this 36: exception statement from your version. */ 37: 38: 39: package java.sql; 40: 41: import java.io.InputStream; 42: import java.io.Reader; 43: import java.math.BigDecimal; 44: import java.net.URL; 45: import java.util.Calendar; 46: import java.util.Map; 47: 48: /** 49: * This interface provides access to the data set returned by a SQL 50: * statement. An instance of this interface is returned by the various 51: * execution methods in the <code>Statement</code>. 52: * 53: * <p> This class models a cursor, which can be stepped through one row at a 54: * time. Methods are provided for accessing columns by column name or by 55: * index.</p> 56: * 57: * <p> Note that a result set is invalidated if the statement that returned 58: * it is closed.</p> 59: * 60: * @author Aaron M. Renn (arenn@urbanophile.com) 61: */ 62: public interface ResultSet 63: { 64: /** 65: * The rows will be processed in order from first to last. 66: */ 67: int FETCH_FORWARD = 1000; 68: 69: /** 70: * The rows will be processed in order from last to first. 71: */ 72: int FETCH_REVERSE = 1001; 73: 74: /** 75: * The rows will be processed in an unknown order 76: */ 77: int FETCH_UNKNOWN = 1002; 78: 79: /** 80: * This type of result set may only step forward through the rows returned. 81: */ 82: int TYPE_FORWARD_ONLY = 1003; 83: 84: /** 85: * This type of result set is scrollable and is not sensitive to changes 86: * made by other statements. 87: */ 88: int TYPE_SCROLL_INSENSITIVE = 1004; 89: 90: /** 91: * This type of result set is scrollable and is also sensitive to changes 92: * made by other statements. 93: */ 94: int TYPE_SCROLL_SENSITIVE = 1005; 95: 96: /** 97: * The concurrency mode of for the result set may not be modified. 98: */ 99: int CONCUR_READ_ONLY = 1007; 100: 101: /** 102: * The concurrency mode of for the result set may be modified. 103: */ 104: int CONCUR_UPDATABLE = 1008; 105: 106: int HOLD_CURSORS_OVER_COMMIT = 1; 107: 108: int CLOSE_CURSORS_AT_COMMIT = 2; 109: 110: /** 111: * This method advances to the next row in the result set. Any streams 112: * open on the current row are closed automatically. 113: * 114: * @return <code>true</code> if the next row exists, <code>false</code> 115: * otherwise. 116: * @exception SQLException If an error occurs. 117: */ 118: boolean next() throws SQLException; 119: 120: /** 121: * This method closes the result set and frees any associated resources. 122: * 123: * @exception SQLException If an error occurs. 124: */ 125: void close() throws SQLException; 126: 127: /** 128: * This method tests whether the value of the last column that was fetched 129: * was actually a SQL NULL value. 130: * 131: * @return <code>true</code> if the last column fetched was a NULL, 132: * <code>false</code> otherwise. 133: * @exception SQLException If an error occurs. 134: */ 135: boolean wasNull() throws SQLException; 136: 137: /** 138: * This method returns the value of the specified column as a Java 139: * <code>String</code>. 140: * 141: * @param columnIndex The index of the column to return. 142: * @return The column value as a <code>String</code>. 143: * @exception SQLException If an error occurs. 144: */ 145: String getString(int columnIndex) throws SQLException; 146: 147: /** 148: * This method returns the value of the specified column as a Java 149: * <code>boolean</code>. 150: * 151: * @param columnIndex The index of the column to return. 152: * @return The column value as a <code>boolean</code>. 153: * @exception SQLException If an error occurs. 154: */ 155: boolean getBoolean(int columnIndex) throws SQLException; 156: 157: /** 158: * This method returns the value of the specified column as a Java 159: * <code>byte</code>. 160: * 161: * @param columnIndex The index of the column to return. 162: * @return The column value as a <code>byte</code>. 163: * @exception SQLException If an error occurs. 164: */ 165: byte getByte(int columnIndex) throws SQLException; 166: 167: /** 168: * This method returns the value of the specified column as a Java 169: * <code>short</code>. 170: * 171: * @param columnIndex The index of the column to return. 172: * @return The column value as a <code>short</code>. 173: * @exception SQLException If an error occurs. 174: */ 175: short getShort(int columnIndex) throws SQLException; 176: 177: /** 178: * This method returns the value of the specified column as a Java 179: * <code>int</code>. 180: * 181: * @param columnIndex The index of the column to return. 182: * @return The column value as a <code>int</code>. 183: * @exception SQLException If an error occurs. 184: */ 185: int getInt(int columnIndex) throws SQLException; 186: 187: /** 188: * This method returns the value of the specified column as a Java 189: * <code>long</code>. 190: * 191: * @param columnIndex The index of the column to return. 192: * @return The column value as a <code>long</code>. 193: * @exception SQLException If an error occurs. 194: */ 195: long getLong(int columnIndex) throws SQLException; 196: 197: /** 198: * This method returns the value of the specified column as a Java 199: * <code>float</code>. 200: * 201: * @param columnIndex The index of the column to return. 202: * @return The column value as a <code>float</code>. 203: * @exception SQLException If an error occurs. 204: */ 205: float getFloat(int columnIndex) throws SQLException; 206: 207: /** 208: * This method returns the value of the specified column as a Java 209: * <code>double</code>. 210: * 211: * @param columnIndex The index of the column to return. 212: * @return The column value as a <code>double</code>. 213: * @exception SQLException If an error occurs. 214: */ 215: double getDouble(int columnIndex) throws SQLException; 216: 217: /** 218: * This method returns the value of the specified column as a Java 219: * <code>BigDecimal</code>. 220: * 221: * @param columnIndex The index of the column to return. 222: * @param scale The number of digits to the right of the decimal to return. 223: * @return The column value as a <code>BigDecimal</code>. 224: * @exception SQLException If an error occurs. 225: * @deprecated 226: */ 227: BigDecimal getBigDecimal(int columnIndex, int scale) 228: throws SQLException; 229: 230: /** 231: * This method returns the value of the specified column as a Java 232: * byte array. 233: * 234: * @param columnIndex The index of the column to return. 235: * @return The column value as a byte array 236: * @exception SQLException If an error occurs. 237: */ 238: byte[] getBytes(int columnIndex) throws SQLException; 239: 240: /** 241: * This method returns the value of the specified column as a Java 242: * <code>java.sql.Date</code>. 243: * 244: * @param columnIndex The index of the column to return. 245: * @return The column value as a <code>java.sql.Date</code>. 246: * @exception SQLException If an error occurs. 247: */ 248: Date getDate(int columnIndex) throws SQLException; 249: 250: /** 251: * This method returns the value of the specified column as a Java 252: * <code>java.sql.Time</code>. 253: * 254: * @param columnIndex The index of the column to return. 255: * @return The column value as a <code>java.sql.Time</code>. 256: * @exception SQLException If an error occurs. 257: */ 258: Time getTime(int columnIndex) throws SQLException; 259: 260: /** 261: * This method returns the value of the specified column as a Java 262: * <code>java.sql.Timestamp</code>. 263: * 264: * @param columnIndex The index of the column to return. 265: * @return The column value as a <code>java.sql.Timestamp</code>. 266: * @exception SQLException If an error occurs. 267: */ 268: Timestamp getTimestamp(int columnIndex) throws SQLException; 269: 270: /** 271: * This method returns the value of the specified column as an ASCII 272: * stream. Note that all the data from this stream must be read before 273: * fetching the value of any other column. Please also be aware that 274: * calling <code>next()</code> or <code>close()</code> on this result set 275: * will close this stream as well. 276: * 277: * @param columnIndex The index of the column to return. 278: * @return The column value as an ASCII <code>InputStream</code>. 279: * @exception SQLException If an error occurs. 280: */ 281: InputStream getAsciiStream(int columnIndex) throws SQLException; 282: 283: /** 284: * This method returns the value of the specified column as a Unicode UTF-8 285: * stream. Note that all the data from this stream must be read before 286: * fetching the value of any other column. Please also be aware that 287: * calling <code>next()</code> or <code>close()</code> on this result set 288: * will close this stream as well. 289: * 290: * @param columnIndex The index of the column to return. 291: * @return The column value as a Unicode UTF-8 <code>InputStream</code>. 292: * @exception SQLException If an error occurs. 293: * @deprecated Use getCharacterStream instead. 294: */ 295: InputStream getUnicodeStream(int columnIndex) throws SQLException; 296: 297: /** 298: * This method returns the value of the specified column as a raw byte 299: * stream. Note that all the data from this stream must be read before 300: * fetching the value of any other column. Please also be aware that 301: * calling <code>next()</code> or <code>close()</code> on this result set 302: * will close this stream as well. 303: * 304: * @param columnIndex The index of the column to return. 305: * @return The column value as a raw byte <code>InputStream</code>. 306: * @exception SQLException If an error occurs. 307: */ 308: InputStream getBinaryStream(int columnIndex) throws SQLException; 309: 310: /** 311: * This method returns the value of the specified column as a Java 312: * <code>String</code>. 313: * 314: * @param columnName The name of the column to return. 315: * @return The column value as a <code>String</code>. 316: * @exception SQLException If an error occurs. 317: */ 318: String getString(String columnName) throws SQLException; 319: 320: /** 321: * This method returns the value of the specified column as a Java 322: * <code>boolean</code>. 323: * 324: * @param columnName The name of the column to return. 325: * @return The column value as a <code>boolean</code>. 326: * @exception SQLException If an error occurs. 327: */ 328: boolean getBoolean(String columnName) throws SQLException; 329: 330: /** 331: * This method returns the value of the specified column as a Java 332: * <code>byte</code>. 333: * 334: * @param columnName The name of the column to return. 335: * @return The column value as a <code>byte</code>. 336: * @exception SQLException If an error occurs. 337: */ 338: byte getByte(String columnName) throws SQLException; 339: 340: /** 341: * This method returns the value of the specified column as a Java 342: * <code>short</code>. 343: * 344: * @param columnName The name of the column to return. 345: * @return The column value as a <code>short</code>. 346: * @exception SQLException If an error occurs. 347: */ 348: short getShort(String columnName) throws SQLException; 349: 350: /** 351: * This method returns the value of the specified column as a Java 352: * <code>int</code>. 353: * 354: * @param columnName The name of the column to return. 355: * @return The column value as a <code>int</code>. 356: * @exception SQLException If an error occurs. 357: */ 358: int getInt(String columnName) throws SQLException; 359: 360: /** 361: * This method returns the value of the specified column as a Java 362: * <code>long</code>. 363: * 364: * @param columnName The name of the column to return. 365: * @return The column value as a <code>long</code>. 366: * @exception SQLException If an error occurs. 367: */ 368: long getLong(String columnName) throws SQLException; 369: 370: /** 371: * This method returns the value of the specified column as a Java 372: * <code>float</code>. 373: * 374: * @param columnName The name of the column to return. 375: * @return The column value as a <code>float</code>. 376: * @exception SQLException If an error occurs. 377: */ 378: float getFloat(String columnName) throws SQLException; 379: 380: /** 381: * This method returns the value of the specified column as a Java 382: * <code>double</code>. 383: * 384: * @param columnName The name of the column to return. 385: * @return The column value as a <code>double</code>. 386: * @exception SQLException If an error occurs. 387: */ 388: double getDouble(String columnName) throws SQLException; 389: 390: /** 391: * This method returns the value of the specified column as a Java 392: * <code>BigDecimal</code>. 393: * 394: * @param columnName The name of the column to return. 395: * @return The column value as a <code>BigDecimal</code>. 396: * @exception SQLException If an error occurs. 397: * @deprecated 398: */ 399: BigDecimal getBigDecimal(String columnName, int scale) 400: throws SQLException; 401: 402: /** 403: * This method returns the value of the specified column as a Java 404: * byte array. 405: * 406: * @param columnName The name of the column to return. 407: * @return The column value as a byte array 408: * @exception SQLException If an error occurs. 409: */ 410: byte[] getBytes(String columnName) throws SQLException; 411: 412: /** 413: * This method returns the value of the specified column as a Java 414: * <code>java.sql.Date</code>. 415: * 416: * @param columnName The name of the column to return. 417: * @return The column value as a <code>java.sql.Date</code>. 418: * @exception SQLException If an error occurs. 419: */ 420: Date getDate(String columnName) throws SQLException; 421: 422: /** 423: * This method returns the value of the specified column as a Java 424: * <code>java.sql.Time</code>. 425: * 426: * @param columnName The name of the column to return. 427: * @return The column value as a <code>java.sql.Time</code>. 428: * @exception SQLException If an error occurs. 429: */ 430: Time getTime(String columnName) throws SQLException; 431: 432: /** 433: * This method returns the value of the specified column as a Java 434: * <code>java.sql.Timestamp</code>. 435: * 436: * @param columnName The name of the column to return. 437: * @return The column value as a <code>java.sql.Timestamp</code>. 438: * @exception SQLException If an error occurs. 439: */ 440: Timestamp getTimestamp(String columnName) throws SQLException; 441: 442: /** 443: * This method returns the value of the specified column as an ASCII 444: * stream. Note that all the data from this stream must be read before 445: * fetching the value of any other column. Please also be aware that 446: * calling <code>next()</code> or <code>close()</code> on this result set 447: * will close this stream as well. 448: * 449: * @param columnName The name of the column to return. 450: * @return The column value as an ASCII <code>InputStream</code>. 451: * @exception SQLException If an error occurs. 452: */ 453: InputStream getAsciiStream(String columnName) throws SQLException; 454: 455: /** 456: * This method returns the value of the specified column as a Unicode UTF-8 457: * stream. Note that all the data from this stream must be read before 458: * fetching the value of any other column. Please also be aware that 459: * calling <code>next()</code> or <code>close()</code> on this result set 460: * will close this stream as well. 461: * 462: * @param columnName The name of the column to return. 463: * @return The column value as a Unicode UTF-8 <code>InputStream</code>. 464: * @exception SQLException If an error occurs. 465: * @deprecated Use getCharacterStream instead. 466: */ 467: InputStream getUnicodeStream(String columnName) throws SQLException; 468: 469: /** 470: * This method returns the value of the specified column as a raw byte 471: * stream. Note that all the data from this stream must be read before 472: * fetching the value of any other column. Please also be aware that 473: * calling <code>next()</code> or <code>close()</code> on this result set 474: * will close this stream as well. 475: * 476: * @param columnName The name of the column to return. 477: * @return The column value as a raw byte <code>InputStream</code>. 478: * @exception SQLException If an error occurs. 479: */ 480: InputStream getBinaryStream(String columnName) throws SQLException; 481: 482: /** 483: * This method returns the first SQL warning associated with this result 484: * set. Any additional warnings will be chained to this one. 485: * 486: * @return The first SQLWarning for this result set, or <code>null</code> if 487: * there are no warnings. 488: * @exception SQLException If an error occurs. 489: */ 490: SQLWarning getWarnings() throws SQLException; 491: 492: /** 493: * This method clears all warnings associated with this result set. 494: * 495: * @exception SQLException If an error occurs. 496: */ 497: void clearWarnings() throws SQLException; 498: 499: /** 500: * This method returns the name of the database cursor used by this 501: * result set. 502: * 503: * @return The name of the database cursor used by this result set. 504: * @exception SQLException If an error occurs. 505: */ 506: String getCursorName() throws SQLException; 507: 508: /** 509: * This method returns data about the columns returned as part of the 510: * result set as a <code>ResultSetMetaData</code> instance. 511: * 512: * @return The <code>ResultSetMetaData</code> instance for this result set. 513: * @exception SQLException If an error occurs. 514: */ 515: ResultSetMetaData getMetaData() throws SQLException; 516: 517: /** 518: * This method returns the value of the specified column as a Java 519: * <code>Object</code>. 520: * 521: * @param columnIndex The index of the column to return. 522: * @return The column value as an <code>Object</code>. 523: * @exception SQLException If an error occurs. 524: */ 525: Object getObject(int columnIndex) throws SQLException; 526: 527: /** 528: * This method returns the value of the specified column as a Java 529: * <code>Object</code>. 530: * 531: * @param columnName The name of the column to return. 532: * @return The column value as an <code>Object</code>. 533: * @exception SQLException If an error occurs. 534: */ 535: Object getObject(String columnName) throws SQLException; 536: 537: /** 538: * This method returns the column index of the specified named column. 539: * 540: * @param columnName The name of the column. 541: * @return The index of the column. 542: * @exception SQLException If an error occurs. 543: */ 544: int findColumn(String columnName) throws SQLException; 545: 546: /** 547: * This method returns the value of the specified column as a character 548: * stream. Note that all the data from this stream must be read before 549: * fetching the value of any other column. Please also be aware that 550: * calling <code>next()</code> or <code>close()</code> on this result set 551: * will close this stream as well. 552: * 553: * @param columnIndex The index of the column to return. 554: * @return The column value as an character <code>Reader</code>. 555: * @exception SQLException If an error occurs. 556: */ 557: Reader getCharacterStream(int columnIndex) throws SQLException; 558: 559: /** 560: * This method returns the value of the specified column as a character 561: * stream. Note that all the data from this stream must be read before 562: * fetching the value of any other column. Please also be aware that 563: * calling <code>next()</code> or <code>close()</code> on this result set 564: * will close this stream as well. 565: * 566: * @param columnName The name of the column to return. 567: * @return The column value as an character <code>Reader</code>. 568: * @exception SQLException If an error occurs. 569: */ 570: Reader getCharacterStream(String columnName) throws SQLException; 571: 572: /** 573: * This method returns the value of the specified column as a Java 574: * <code>BigDecimal</code>. 575: * 576: * @param columnIndex The index of the column to return. 577: * @return The column value as a <code>BigDecimal</code>. 578: * @exception SQLException If an error occurs. 579: */ 580: BigDecimal getBigDecimal(int columnIndex) throws SQLException; 581: 582: /** 583: * This method returns the value of the specified column as a Java 584: * <code>BigDecimal</code>. 585: * 586: * @param columnName The name of the column to return. 587: * @return The column value as a <code>BigDecimal</code>. 588: * @exception SQLException If an error occurs. 589: */ 590: BigDecimal getBigDecimal(String columnName) throws SQLException; 591: 592: /** 593: * This method tests whether or not the cursor is before the first row 594: * in the result set. 595: * 596: * @return <code>true</code> if the cursor is positioned before the first 597: * row, <code>false</code> otherwise. 598: * @exception SQLException If an error occurs. 599: */ 600: boolean isBeforeFirst() throws SQLException; 601: 602: /** 603: * This method tests whether or not the cursor is after the last row 604: * in the result set. 605: * 606: * @return <code>true</code> if the cursor is positioned after the last 607: * row, <code>false</code> otherwise. 608: * @exception SQLException If an error occurs. 609: */ 610: boolean isAfterLast() throws SQLException; 611: 612: /** 613: * This method tests whether or not the cursor is positioned on the first 614: * row in the result set. 615: * 616: * @return <code>true</code> if the cursor is positioned on the first 617: * row, <code>false</code> otherwise. 618: * @exception SQLException If an error occurs. 619: */ 620: boolean isFirst() throws SQLException; 621: 622: /** 623: * This method tests whether or not the cursor is on the last row 624: * in the result set. 625: * 626: * @return <code>true</code> if the cursor is positioned on the last 627: * row, <code>false</code> otherwise. 628: * @exception SQLException If an error occurs. 629: */ 630: boolean isLast() throws SQLException; 631: 632: /** 633: * This method repositions the cursor to before the first row in the 634: * result set. 635: * 636: * @exception SQLException If an error occurs. 637: */ 638: void beforeFirst() throws SQLException; 639: 640: /** 641: * This method repositions the cursor to after the last row in the result 642: * set. 643: * 644: * @exception SQLException If an error occurs. 645: */ 646: void afterLast() throws SQLException; 647: 648: /** 649: * This method repositions the cursor on the first row in the 650: * result set. 651: * 652: * @return <code>true</code> if the cursor is on a valid row; 653: * <code>false</code> if there are no rows in the result set. 654: * @exception SQLException If an error occurs. 655: */ 656: boolean first() throws SQLException; 657: 658: /** 659: * This method repositions the cursor on the last row in the result 660: * set. 661: * 662: * @return <code>true</code> if the cursor is on a valid row; 663: * <code>false</code> if there are no rows in the result set. 664: * @exception SQLException If an error occurs. 665: */ 666: boolean last() throws SQLException; 667: 668: /** 669: * This method returns the current row number in the cursor. Numbering 670: * begins at index 1. 671: * 672: * @return The current row number, or 0 if there is not current row. 673: * @exception SQLException If an error occurs. 674: */ 675: int getRow() throws SQLException; 676: 677: /** 678: * This method positions the result set to the specified absolute row. 679: * Positive numbers are row offsets from the beginning of the result 680: * set (numbering starts from row 1) and negative numbers are row offsets 681: * from the end of the result set (numbering starts from -1). 682: * 683: * @param row The row to position the result set to. 684: * 685: * @return <code>true</code> if the current position was changed, 686: * <code>false</code> otherwise. 687: * @exception SQLException If an error occurs. 688: */ 689: boolean absolute(int row) throws SQLException; 690: 691: /** 692: * This method moves the result set position relative to the current row. 693: * The offset can be positive or negative. 694: * 695: * @param rows The number of row positions to move. 696: * @return <code>true</code> if the current position was changed, 697: * <code>false</code> otherwise. 698: * @exception SQLException If an error occurs. 699: */ 700: boolean relative(int rows) throws SQLException; 701: 702: /** 703: * This method moves the current position to the previous row in the 704: * result set. 705: * 706: * @return <code>true</code> if the previous row exists, <code>false</code> 707: * otherwise. 708: * @exception SQLException If an error occurs. 709: */ 710: boolean previous() throws SQLException; 711: 712: /** 713: * This method provides a hint to the driver about which direction the 714: * result set will be processed in. 715: * 716: * @param direction The direction in which rows will be processed. The 717: * allowed values are the <code>FETCH_*</code> constants 718: * defined in this interface. 719: * @exception SQLException If an error occurs. 720: */ 721: void setFetchDirection(int direction) throws SQLException; 722: 723: /** 724: * This method returns the current fetch direction for this result set. 725: * 726: * @return The fetch direction for this result set. 727: * @exception SQLException If an error occurs. 728: */ 729: int getFetchDirection() throws SQLException; 730: 731: /** 732: * This method provides a hint to the driver about how many rows at a 733: * time it should fetch from the database. 734: * 735: * @param rows The number of rows the driver should fetch per call. 736: * @exception SQLException If an error occurs. 737: */ 738: void setFetchSize(int rows) throws SQLException; 739: 740: /** 741: * This method returns the current number of rows that will be fetched 742: * from the database at a time. 743: * 744: * @return The current fetch size for this result set. 745: * @exception SQLException If an error occurs. 746: */ 747: int getFetchSize() throws SQLException; 748: 749: /** 750: * This method returns the result set type of this result set. This will 751: * be one of the <code>TYPE_*</code> constants defined in this interface. 752: * 753: * @return The result set type. 754: * @exception SQLException If an error occurs. 755: */ 756: int getType() throws SQLException; 757: 758: /** 759: * This method returns the concurrency type of this result set. This will 760: * be one of the <code>CONCUR_*</code> constants defined in this interface. 761: * 762: * @return The result set concurrency type. 763: * @exception SQLException If an error occurs. 764: */ 765: int getConcurrency() throws SQLException; 766: 767: /** 768: * This method tests whether or not the current row in the result set 769: * has been updated. Updates must be visible in order of this method to 770: * detect the update. 771: * 772: * @return <code>true</code> if the row has been updated, <code>false</code> 773: * otherwise. 774: * @exception SQLException If an error occurs. 775: */ 776: boolean rowUpdated() throws SQLException; 777: 778: /** 779: * This method tests whether or not the current row in the result set 780: * has been inserted. Inserts must be visible in order of this method to 781: * detect the insert. 782: * 783: * @return <code>true</code> if the row has been inserted, <code>false</code> 784: * otherwise. 785: * @exception SQLException If an error occurs. 786: */ 787: boolean rowInserted() throws SQLException; 788: 789: /** 790: * This method tests whether or not the current row in the result set 791: * has been deleted. Deletes must be visible in order of this method to 792: * detect the deletion. 793: * 794: * @return <code>true</code> if the row has been deleted, <code>false</code> 795: * otherwise. 796: * @exception SQLException If an error occurs. 797: */ 798: boolean rowDeleted() throws SQLException; 799: 800: /** 801: * This method updates the specified column to have a NULL value. This 802: * does not update the actual database. <code>updateRow</code> must be 803: * called in order to do that. 804: * 805: * @param columnIndex The index of the column to update. 806: * @exception SQLException If an error occurs. 807: */ 808: void updateNull(int columnIndex) throws SQLException; 809: 810: /** 811: * This method updates the specified column to have a boolean value. This 812: * does not update the actual database. <code>updateRow</code> must be 813: * called in order to do that. 814: * 815: * @param columnIndex The index of the column to update. 816: * @param value The new value of the column. 817: * @exception SQLException If an error occurs. 818: */ 819: void updateBoolean(int columnIndex, boolean value) throws SQLException; 820: 821: /** 822: * This method updates the specified column to have a byte value. This 823: * does not update the actual database. <code>updateRow</code> must be 824: * called in order to do that. 825: * 826: * @param columnIndex The index of the column to update. 827: * @param value The new value of the column. 828: * @exception SQLException If an error occurs. 829: */ 830: void updateByte(int columnIndex, byte value) throws SQLException; 831: 832: /** 833: * This method updates the specified column to have a short value. This 834: * does not update the actual database. <code>updateRow</code> must be 835: * called in order to do that. 836: * 837: * @param columnIndex The index of the column to update. 838: * @param value The new value of the column. 839: * @exception SQLException If an error occurs. 840: */ 841: void updateShort(int columnIndex, short value) throws SQLException; 842: 843: /** 844: * This method updates the specified column to have an int value. This 845: * does not update the actual database. <code>updateRow</code> must be 846: * called in order to do that. 847: * 848: * @param columnIndex The index of the column to update. 849: * @param value The new value of the column. 850: * @exception SQLException If an error occurs. 851: */ 852: void updateInt(int columnIndex, int value) throws SQLException; 853: 854: /** 855: * This method updates the specified column to have a long value. This 856: * does not update the actual database. <code>updateRow</code> must be 857: * called in order to do that. 858: * 859: * @param columnIndex The index of the column to update. 860: * @param value The new value of the column. 861: * @exception SQLException If an error occurs. 862: */ 863: void updateLong(int columnIndex, long value) throws SQLException; 864: 865: /** 866: * This method updates the specified column to have a float value. This 867: * does not update the actual database. <code>updateRow</code> must be 868: * called in order to do that. 869: * 870: * @param columnIndex The index of the column to update. 871: * @param value The new value of the column. 872: * @exception SQLException If an error occurs. 873: */ 874: void updateFloat(int columnIndex, float value) throws SQLException; 875: 876: /** 877: * This method updates the specified column to have a double value. This 878: * does not update the actual database. <code>updateRow</code> must be 879: * called in order to do that. 880: * 881: * @param columnIndex The index of the column to update. 882: * @param value The new value of the column. 883: * @exception SQLException If an error occurs. 884: */ 885: void updateDouble(int columnIndex, double value) throws SQLException; 886: 887: /** 888: * This method updates the specified column to have a BigDecimal value. This 889: * does not update the actual database. <code>updateRow</code> must be 890: * called in order to do that. 891: * 892: * @param columnIndex The index of the column to update. 893: * @param value The new value of the column. 894: * @exception SQLException If an error occurs. 895: */ 896: void updateBigDecimal(int columnIndex, BigDecimal value) 897: throws SQLException; 898: 899: /** 900: * This method updates the specified column to have a String value. This 901: * does not update the actual database. <code>updateRow</code> must be 902: * called in order to do that. 903: * 904: * @param columnIndex The index of the column to update. 905: * @param value The new value of the column. 906: * @exception SQLException If an error occurs. 907: */ 908: void updateString(int columnIndex, String value) throws SQLException; 909: 910: /** 911: * This method updates the specified column to have a byte array value. This 912: * does not update the actual database. <code>updateRow</code> must be 913: * called in order to do that. 914: * 915: * @param columnIndex The index of the column to update. 916: * @param value The new value of the column. 917: * @exception SQLException If an error occurs. 918: */ 919: void updateBytes(int columnIndex, byte[] value) throws SQLException; 920: 921: /** 922: * This method updates the specified column to have a java.sql.Date value. This 923: * does not update the actual database. <code>updateRow</code> must be 924: * called in order to do that. 925: * 926: * @param columnIndex The index of the column to update. 927: * @param value The new value of the column. 928: * @exception SQLException If an error occurs. 929: */ 930: void updateDate(int columnIndex, Date value) throws SQLException; 931: 932: /** 933: * This method updates the specified column to have a java.sql.Time value. This 934: * does not update the actual database. <code>updateRow</code> must be 935: * called in order to do that.