⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlstatement.java

📁 数据仓库工具
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
/*
    Copyright (C) 2003  Together

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/

package org.webdocwf.util.xml;

import java.sql.*;
import java.io.File;
import java.io.RandomAccessFile;
import java.util.Enumeration;
//import java.util.Vector;
import java.util.ArrayList;

/**
 * Class implements the JDBC Statement interface for the XmlJdbc driver.
 *
 * @author Zoran Milakovic
 */

public class XmlStatement implements Statement
{
  private XmlConnection connection;
  private String fileName;


  /**
   *Constructor for the XmlStatement object
   *
   * @param  connection  Description of Parameter
   * @since
   */
  protected XmlStatement(XmlConnection connection)
  {
    DriverManager.println("XmlJdbc - XmlStatement() - connection=" + connection);
    this.connection = connection;
    this.fileName = connection.getPath() + connection.getExtension();
  }


  /**
   *Sets the maxFieldSize attribute of the SmlStatement object
   *
   * @param  p0                The new maxFieldSize value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setMaxFieldSize(int p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the maxRows attribute of the XmlStatement object
   *
   * @param  p0                The new maxRows value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setMaxRows(int p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the escapeProcessing attribute of the XmlStatement object
   *
   * @param  p0                The new escapeProcessing value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setEscapeProcessing(boolean p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the queryTimeout attribute of the XmlStatement object
   *
   * @param  p0                The new queryTimeout value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setQueryTimeout(int p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the cursorName attribute of the XmlStatement object
   *
   * @param  p0                The new cursorName value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setCursorName(String p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the fetchDirection attribute of the XmlStatement object
   *
   * @param  p0                The new fetchDirection value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setFetchDirection(int p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Sets the fetchSize attribute of the XmlStatement object
   *
   * @param  p0                The new fetchSize value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public void setFetchSize(int p0) throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the maxFieldSize attribute of the XmlStatement object
   *
   * @return                   The maxFieldSize value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getMaxFieldSize() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the maxRows attribute of the XmlStatement object
   *
   * @return                   The maxRows value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getMaxRows() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the queryTimeout attribute of the XmlStatement object
   *
   * @return                   The queryTimeout value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getQueryTimeout() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the warnings attribute of the XmlStatement object
   *
   * @return                   The warnings value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public SQLWarning getWarnings() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the resultSet attribute of the XmlStatement object
   *
   * @return                   The resultSet value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public ResultSet getResultSet() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the updateCount attribute of the XmlStatement object
   *
   * @return                   The updateCount value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getUpdateCount() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the moreResults attribute of the XmlStatement object
   *
   * @return                   The moreResults value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public boolean getMoreResults() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the fetchDirection attribute of the XmlStatement object
   *
   * @return                   The fetchDirection value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getFetchDirection() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the fetchSize attribute of the XmlStatement object
   *
   * @return                   The fetchSize value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getFetchSize() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the resultSetConcurrency attribute of the XmlStatement object
   *
   * @return                   The resultSetConcurrency value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getResultSetConcurrency() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the resultSetType attribute of the XmlStatement object
   *
   * @return                   The resultSetType value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public int getResultSetType() throws SQLException
  {
    throw new SQLException("Not Supported !");
  }


  /**
   *Gets the connection attribute of the XmlStatement object
   *
   * @return                   The connection value
   * @exception  SQLException  Description of Exception
   * @since
   */
  public Connection getConnection() throws SQLException
  {
    return connection;
  }


  /**
   *Description of the Method
   *
   * @param  sql               Sql statement
   * @return                   ResultSet
   * @exception  SQLException
   * @since
   */
  public ResultSet executeQuery(String sql) throws SQLException
  {
    DriverManager.println("XmlJdbc - XmlStatement:executeQuery() - sql= " + sql);
    XmlWriter writer;
    if( this.connection.getAutoCommit() )
      writer = new XmlWriter(fileName,true);
    else
      writer = new XmlWriter(fileName,false);
    XmlSqlParser parser = new XmlSqlParser( this.fileName, this.connection.getAutoCommit() );
    try
    {
      parser.parse(sql);
    }
    catch (Exception e)
    {
      throw new SQLException("Syntax Error. " + e.getMessage());
    }
    if (parser.sqlType.equals(parser.DROP_TABLE)) {
      execute(sql);
      return null;
    }
    if (parser.sqlType.equals(parser.DELETE)) {
      executeUpdate(sql);
      return null;
    }
    if (parser.sqlType.equals(parser.UPDATE)) {
      executeUpdate(sql);
      return null;
    }
    else if (parser.sqlType.equals(parser.INSERT)) {
      executeUpdate(sql);
      return null;
    }
    else if (parser.sqlType.equals(parser.CREATE_TABLE)) {
      execute( sql );
      return null;
    } else if(parser.sqlType.equals(parser.SELECT) ) {

    String fileName = connection.getPath() + connection.getExtension();
    File checkFile = new File(fileName);
    XmlReader reader;
    try
    {
      reader = new XmlReader(fileName);
      String[] xxx = parser.getColumnNames();
      String[] yyy = (String[])writer.getTableProperties( parser.getTableName() ).get(0);
      boolean isOK = true;
      for(int i=0; i< xxx.length; i++) {
        out:
      for(int j=0; j< yyy.length; j++) {
        if(xxx[i].equalsIgnoreCase(yyy[j])) {
          isOK=true;
          break out;
        }
        else
          isOK=false;
      }
      if(!isOK)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -