亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? resultset.java

?? J2ME MIDP_Example_Applications
?? JAVA
字號:
// Copyright 2003 Nokia Corporation.
//
// THIS SOURCE CODE IS PROVIDED 'AS IS', WITH NO WARRANTIES WHATSOEVER,
// EXPRESS OR IMPLIED, INCLUDING ANY WARRANTY OF MERCHANTABILITY, FITNESS
// FOR ANY PARTICULAR PURPOSE, OR ARISING FROM A COURSE OF DEALING, USAGE
// OR TRADE PRACTICE, RELATING TO THE SOURCE CODE OR ANY WARRANTY OTHERWISE
// ARISING OUT OF ANY PROPOSAL, SPECIFICATION, OR SAMPLE AND WITH NO
// OBLIGATION OF NOKIA TO PROVIDE THE LICENSEE WITH ANY MAINTENANCE OR
// SUPPORT. FURTHERMORE, NOKIA MAKES NO WARRANTY THAT EXERCISE OF THE
// RIGHTS GRANTED HEREUNDER DOES NOT INFRINGE OR MAY NOT CAUSE INFRINGEMENT
// OF ANY PATENT OR OTHER INTELLECTUAL PROPERTY RIGHTS OWNED OR CONTROLLED
// BY THIRD PARTIES
//
// Furthermore, information provided in this source code is preliminary,
// and may be changed substantially prior to final release. Nokia Corporation
// retains the right to make changes to this source code at
// any time, without notice. This source code is provided for informational
// purposes only.
//
// Nokia and Nokia Connecting People are registered trademarks of Nokia
// Corporation.
// Java and all Java-based marks are trademarks or registered trademarks of
// Sun Microsystems, Inc.
// Other product and company names mentioned herein may be trademarks or
// trade names of their respective owners.
//
// A non-exclusive, non-transferable, worldwide, limited license is hereby
// granted to the Licensee to download, print, reproduce and modify the
// source code. The licensee has the right to market, sell, distribute and
// make available the source code in original or modified form only when
// incorporated into the programs developed by the Licensee. No other
// license, express or implied, by estoppel or otherwise, to any other
// intellectual property rights is granted herein.
package example.mesql;

import java.util.*;

public class ResultSet
{
  // keeps track of the current row
  private int currentRow = 0;
  private Vector allRows = new Vector();
  private Vector columns = new Vector();
  private Vector columnTypes = new Vector();
  private Statement statement = null;
  private int rowsUpdated = -1;

  ResultSet(String response) throws SQLException
  {
    parseResponse(response);
  }

  // moves to an absolute toe
  public boolean absolute(int row)
  {
    if (row < 0)
    {
      row = allRows.size() - row;
    }
    if (row < 0)
    {
      row = 1;
    }
    if (row > allRows.size())
    {
      row = allRows.size();
    }
    currentRow = row;
    return currentRow > 0 && currentRow <= allRows.size();
  }

  // move to the row after the last
  public void afterLast()
  {
    currentRow = allRows.size() + 1;
  }

  // move to the row before the first one
  public void beforeFirst()
  {
    currentRow = 0;
  }

  // finds a column by name
  public int findColumn(String columnName)
    throws SQLException
  {
    for (int i = 0; i < columns.size(); i++)
    {
      if (columns.elementAt(i).equals(columnName.toLowerCase()))
      {
        return i + 1;
      }
    }
    throw new SQLException(new StringBuffer("Column ")
      .append(columnName).append(" not in this result set")
      .toString());
  }

  // goes to the first row
  public boolean first()
  {
    return absolute(1);
  }

  // checks whether it is after the last row
  public boolean isAfterLast()
  {
    return currentRow == allRows.size() + 1;
  }

  // checks whether it is before the first row
  public boolean isBeforeFirst()
  {
    return currentRow == 0;
  }

  // checks whether it is in the first row
  public boolean isFirst()
  {
    return currentRow == 1;
  }

  // checks whether it is in the kast row
  public boolean isLast()
  {
    return currentRow == allRows.size();
  }

  // goes to the last row
  public boolean last()
  {
    return absolute(-1);
  }

  // goes to the next row
  public boolean next()
  {
    if (currentRow <= allRows.size())
    {
      currentRow++;
    }
    return currentRow <= allRows.size();
  }

  // goes back to the first row
  public boolean previous()
  {
    if (currentRow > 0)
    {
      currentRow--;
    }
    return currentRow > 0;
  }

  // move a relative amount of rows
  public boolean relative(int rows)
  {
    return absolute(currentRow + rows);
  }

  // the following methods return the value of a
  // column based on index or column name
  // there are different methods for different types
  // if the column doesn't exist or the type cannot be
  // converted an exception is thrown
  
  public boolean getBoolean(int columnIndex)
    throws SQLException
  {
    String value = findValue(columnIndex);
    return "true".equals(value) || "TRUE".equals(value);
  }

  public boolean getBoolean(String columnName)
    throws SQLException
  {
    return getBoolean(findColumn(columnName));
  }

  public byte getByte(int columnIndex)
    throws SQLException
  {
    String value = findValue(columnIndex);
    byte result = 0;
    if (value != null && !value.toLowerCase().equals("null"))
    {
      try
      {
        result = Byte.parseByte(value);
      }
      catch (NumberFormatException e)
      {
        throw new SQLException(e.getMessage());
      }
    }
    return result;
  }

  byte getByte(String columnName)
    throws SQLException
  {
    return getByte(findColumn(columnName));
  }

  public int getInt(int columnIndex)
    throws SQLException
  {
    String value = findValue(columnIndex);
    int result = 0;
    if (value != null && !value.toLowerCase().equals("null"))
    {
      try
      {
        result = Integer.parseInt(value);
      }
      catch (NumberFormatException e)
      {
        throw new SQLException(e.getMessage());
      }
    }
    return result;
  }

  public int getInt(String columnName)
    throws SQLException
  {
    return getInt(findColumn(columnName));
  }

  long getLong(int columnIndex)
    throws SQLException
  {
    String value = findValue(columnIndex);
    long result = 0;
    if (value != null && !value.toLowerCase().equals("null"))
    {
      try
      {
        result = Long.parseLong(value);
      }
      catch (NumberFormatException e)
      {
        throw new SQLException(e.getMessage());
      }
    }
    return result;
  }

  long getLong(String columnName)
    throws SQLException
  {
    return getLong(findColumn(columnName));
  }

  public int getRow()
  {
    return currentRow;
  }

  public short getShort(int columnIndex)
    throws SQLException
  {
    String value = findValue(columnIndex);
    short result = 0;
    if (value != null && !value.toLowerCase().equals("null"))
    {
      try
      {
        result = Short.parseShort(value);
      }
      catch (NumberFormatException e)
      {
        throw new SQLException(e.getMessage());
      }
    }
    return result;
  }

  public short getShort(String columnName)
    throws SQLException
  {
    return getShort(findColumn(columnName));
  }

  public String getString(int columnIndex)
    throws SQLException
  {
    return findValue(columnIndex);
  }

  public String getString(String columnName)
    throws SQLException
  {
    return getString(findColumn(columnName));
  }

  // parses the HTTP response from the server
  private void parseResponse(String response)
    throws SQLException
  {
    // first a sanity check
    if (response.startsWith("OK\nSELECT\n"))
    {
      response = response.substring(10);
      // tokenize by lines
      Tokenizer tokenizer = new Tokenizer(response, '\n');
      String line = (String) tokenizer.nextElement();
      if (line == null) {
        throw new SQLException("Malformed query response"); 
      }
      
      // first fill in the column names
      Tokenizer cols = new Tokenizer(line, ',');
      while (cols.hasMoreElements())
      {
        columns.addElement(((String) cols.nextElement()).toLowerCase());
      }
      line = (String) tokenizer.nextElement();
      if (line == null) {
        throw new SQLException("Malformed query response"); 
      }
      // next fill in the column types
      cols = new Tokenizer(line, ',');
      while (cols.hasMoreElements())
      {
        columnTypes.addElement(cols.nextElement());
      }
      while (tokenizer.hasMoreElements())
      {
        line = (String)tokenizer.nextElement();
        // store the rows unparsed
        allRows.addElement(line);
      }
    }
  }


  private String findValue(int columnIndex)
    throws SQLException
  {
    if (currentRow > allRows.size())
    {
      throw new SQLException("Row index too large");
    }
    String line = (String) allRows.elementAt(currentRow - 1);
    Tokenizer tokenizer = new Tokenizer(line, ',');
    int currentCol = 1;
    while (tokenizer.hasMoreElements())
    {
      String token = (String) tokenizer.nextElement();
      if (currentCol == columnIndex)
      {
        if ("%0".equals(token))
        {
          return null;
        }
        return Codec.decode(token);
      }
      currentCol++;
    }
    throw new SQLException("Column index too large");
  }

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品视频在线观看网站| 91丝袜美女网| 成人免费毛片app| 99精品国产99久久久久久白柏 | 欧美一级国产精品| 欧美刺激午夜性久久久久久久| 国产亚洲人成网站| 自拍偷在线精品自拍偷无码专区| 亚洲chinese男男1069| 精品一区精品二区高清| 精品日韩99亚洲| 国产日韩v精品一区二区| 亚洲欧美日韩国产手机在线 | 欧美日韩精品免费观看视频| 日韩写真欧美这视频| 国产精品青草久久| 日韩精品电影在线| 成人理论电影网| 777a∨成人精品桃花网| 中文字幕免费在线观看视频一区| 亚洲国产cao| 丰满亚洲少妇av| 91精品午夜视频| 亚洲人成在线播放网站岛国| 精品一区二区三区欧美| 日本韩国欧美国产| 国产午夜精品美女毛片视频| 天天影视涩香欲综合网| 99久久国产综合精品女不卡| 精品sm在线观看| 午夜视频在线观看一区| 北条麻妃一区二区三区| 日韩美女视频一区二区在线观看| 一区二区免费在线| 大桥未久av一区二区三区中文| 777奇米成人网| 一区二区三区不卡在线观看| 成人晚上爱看视频| 日韩欧美一区二区免费| 亚洲第一福利一区| 北岛玲一区二区三区四区| 久久精品这里都是精品| 男人操女人的视频在线观看欧美| 日本韩国一区二区三区| 国产精品丝袜在线| 蜜桃av一区二区三区| 精品视频999| 亚洲日本在线视频观看| 国产成人在线观看| 26uuu亚洲综合色| 美女精品自拍一二三四| 欧美日韩成人高清| 亚洲成人中文在线| 色吊一区二区三区| 国产精品福利影院| 丰满白嫩尤物一区二区| 久久青草欧美一区二区三区| 蜜臀久久99精品久久久久宅男| 欧美日韩久久久一区| 亚洲免费观看视频| 91亚洲精品久久久蜜桃| 亚洲欧洲日产国码二区| 国产91精品久久久久久久网曝门 | 国产精品自在在线| 欧美成人精品高清在线播放 | 欧美日韩www| 亚洲一级片在线观看| 色综合久久综合| 亚洲欧美韩国综合色| 色综合天天性综合| 成人欧美一区二区三区小说| www.欧美亚洲| **欧美大码日韩| 色综合久久久久久久| 亚洲免费观看高清| 日本道色综合久久| 亚洲与欧洲av电影| 欧美日韩久久不卡| 五月激情综合网| 正在播放亚洲一区| 免费的成人av| 欧美精品一区二区在线播放 | 国产亚洲成av人在线观看导航| 激情另类小说区图片区视频区| 久久你懂得1024| 国产成人免费在线观看不卡| 欧美国产欧美综合| 99久久免费国产| 国产福利一区二区三区视频| 久久亚洲一区二区三区四区| 国产精品 日产精品 欧美精品| 欧美激情一区在线观看| 99r国产精品| 亚洲高清久久久| 欧美一级日韩不卡播放免费| 久草中文综合在线| 欧美国产欧美综合| 欧美影院精品一区| 日韩激情一区二区| 久久精品一区二区三区不卡牛牛| 成人激情图片网| 一区二区三区在线免费观看| 制服.丝袜.亚洲.另类.中文| 国产在线看一区| 中文字幕在线不卡一区二区三区| 欧洲人成人精品| 麻豆精品视频在线观看视频| 日本一区二区免费在线观看视频 | 亚洲私人黄色宅男| 欧美午夜不卡在线观看免费| 狠狠色丁香久久婷婷综合丁香| 国产精品萝li| 欧美日本一区二区三区| 激情久久久久久久久久久久久久久久| 国产精品无圣光一区二区| 欧美日韩亚洲综合一区二区三区| 国内一区二区视频| 亚洲色欲色欲www| 91精品国产综合久久久久| 国产ts人妖一区二区| 亚洲综合一区二区三区| 欧美mv日韩mv国产网站app| www.成人网.com| 麻豆一区二区在线| 综合色天天鬼久久鬼色| 6080日韩午夜伦伦午夜伦| 成人av片在线观看| 三级久久三级久久久| 亚洲国产高清在线| 69av一区二区三区| 91啪在线观看| 国产综合色视频| 亚洲国产精品久久久男人的天堂| 久久久蜜桃精品| 欧美精品在欧美一区二区少妇| 成人免费毛片a| 免费成人美女在线观看.| 亚洲人成伊人成综合网小说| 精品少妇一区二区三区在线播放| 99精品热视频| 精彩视频一区二区| 亚洲3atv精品一区二区三区| 中文字幕在线不卡一区二区三区| 精品国产免费久久| 欧美性生交片4| 99麻豆久久久国产精品免费| 韩国理伦片一区二区三区在线播放 | 亚洲午夜视频在线观看| 国产午夜精品一区二区三区嫩草| 91精品国产一区二区| 在线这里只有精品| www.亚洲国产| 国产精品亚洲一区二区三区在线| 日韩和欧美的一区| 亚洲一区二区在线视频| 国产精品福利一区| 欧美国产综合一区二区| 久久久久久97三级| 欧美一级二级三级乱码| 欧美视频一区在线| 色综合久久久久久久久| eeuss鲁片一区二区三区| 国产成人av一区二区| 欧美肥胖老妇做爰| 欧美亚洲高清一区二区三区不卡| 99久久伊人久久99| 成人综合在线视频| 国产九色sp调教91| 国产一区二区在线看| 美脚の诱脚舐め脚责91| 日日骚欧美日韩| 五月天欧美精品| 日韩综合在线视频| 亚洲高清免费观看 | 4438亚洲最大| 欧美日韩久久久一区| 欧美日韩一区二区三区高清| 91欧美激情一区二区三区成人| 99久久99久久精品免费看蜜桃 | 1000部国产精品成人观看| 国产嫩草影院久久久久| 久久亚洲免费视频| 精品99999| 久久人人97超碰com| 久久精品夜色噜噜亚洲a∨| 亚洲精品在线观看视频| 欧美不卡123| 久久久不卡影院| 国产日本亚洲高清| 国产女主播在线一区二区| 国产亲近乱来精品视频| 日本一区二区三区电影| 国产精品久久99| 自拍偷拍亚洲综合| 亚洲人成影院在线观看| 亚洲国产欧美日韩另类综合| 午夜精品福利视频网站| 日本成人在线不卡视频| 麻豆91精品91久久久的内涵| 国产酒店精品激情|