/**
         * Helper function for getResultField returns a 0-based column number
         *
         * @param colName the column name
         * @param rsmd the result set meta data
         * @return the column number (0-based) or -1 on error
         */
        private int getColumnNumber(String colName,
                                    ResultSetMetaData md)

        {
            int numColumns = md.getColumnCount();

            if (colName.indexOf('.') == -1)
            {
                for (int i = 1; i <= numColumns; i++)
                {
                    if (colName.equals(getColumnLabel(md, i)))
                    {
                        return(i - 1);
                    }
                }

                return(-1);
            }
            else
            {
                for (int i = 1; i <= numColumns; i++)
                {
                    if (colName.equals(md.getTableName(i) + '.' + md.getColumnLabel(i)))
                    {
                        return(i - 1);
                    }
                }

                return(-1);
            }
        }
Exemple #2
0
        //static void DerbytTest1(string dbpath)
        //{
        //    DerbyNET derbyDB = new DerbyNET(dbpath + ";create=true"); // don't use "\" in directory
        //    if (!derbyDB.openConnection())
        //    {
        //        Console.WriteLine(derbyDB.getLastError());
        //        Console.ReadKey();
        //        //Error opening Derby DB
        //        return;
        //    }
        //    DataTable oDT = derbyDB.getRS("SELECT * FROM schemaExample.tblExample") as DataTable;
        //    if (oDT.Columns[0].ColumnName == "Erro")
        //    {
        //        //Read the ** ERRORS ** section below
        //        Thread.sleep(1000);
        //        oDT = derbyDB.getRS("SELECT * FROM schemaExample.tblExample") as DataTable;
        //    }
        //    else if (oDT.Rows.Count == 1 && oDT.Columns.Count == 1)
        //    {
        //        //Some error occured
        //        Console.WriteLine(derbyDB.getLastError());
        //        Console.ReadKey();
        //        return;
        //    }
        //    derbyDB.closeConnection();
        //}
        static void DerbytTest2(string dbpath)
        {
            Console.WriteLine("Set Property: derby.system.home");
            java.lang.System.setProperty("derby.system.home", dbpath);
            Console.WriteLine("Register Driver: EmbeddedDriver");
            DriverManager.registerDriver(new org.apache.derby.jdbc.EmbeddedDriver());
            Console.WriteLine("Connection: jdbc:derby:security");
            Connection derbyConn = DriverManager.getConnection(@"jdbc:derby:security;create=true");

            Console.WriteLine("Create Statement... (ITEM_SEC)");
            Statement         sta  = derbyConn.createStatement();
            ResultSet         res  = sta.executeQuery("SELECT * from ITEM_SEC");
            ResultSetMetaData rsmd = res.getMetaData();

            Console.WriteLine("List Columns: ITEM_SEC");
            for (var i = 1; i <= rsmd.getColumnCount() - 1; i++)
            {
                Console.WriteLine("- Column: {0}", rsmd.getColumnName(i));
            }

            res = sta.executeQuery("SELECT COUNT(*) nTotal from ITEM_SEC");
            while (res.next())
            {
                Console.WriteLine("ITEM_SEC ({0} rows)", res.getString("nTotal"));
            }

            res.close();
            sta.close();
            derbyConn.close();
            Console.ReadKey();
        }
        protected MysqlResultSetMetaData(ResultSetMetaData metaData)
        {
            _resultSetMetaData = metaData;

            try {
                _columnEncodings = new String[metaData.getColumnCount()];
            } catch (SQLException e) {
                throw new QuercusException(e);
            }
        }
        /**
         * Returns an object with properties that correspond to the fetched row and
         * moves the internal data pointer ahead.
         *
         * @param env the PHP executing environment
         * @return an object representing the current fetched row
         */
        protected Value fetchObject(Env env, string className, Value[] args)
        {
            if (_rs == null)
            {
                return(NullValue.NULL);
            }

            try {
                if (_rs.next())
                {
                    _isValid = true;

                    Value result;

                    if (className != null)
                    {
                        QuercusClass cls = env.findClass(className);

                        if (args == null)
                        {
                            args = Value.NULL_ARGS;
                        }

                        result = cls.callNew(env, args);
                    }
                    else
                    {
                        result = env.createObject();
                    }

                    ResultSetMetaData md = getMetaData();

                    int count = md.getColumnCount();

                    for (int i = 0; i < count; i++)
                    {
                        string name  = getColumnLabel(md, i + 1);
                        Value  value = getColumnValue(env, i + 1);

                        result.putField(env, name, value);
                    }

                    return(result);
                }
                else
                {
                    return(NullValue.NULL);
                }
            } catch (SQLException e) {
                log.log(Level.FINE, e.ToString(), e);
                return(NullValue.NULL);
            }
        }
Exemple #5
0
        public JDBCInputAdapter(Connection connection, string sql)
        {
            try
            {
                Statement stmt = connection.createStatement();      // Get a statement from the connection
                resultSet = stmt.executeQuery(sql);                 // Execute the query
                ResultSetMetaData rsmd = resultSet.getMetaData();
                inputSize = rsmd.getColumnCount();
            }
            catch (SQLException ex)
            {
//JAVA TO C# CONVERTER WARNING: The .NET Type.FullName property will not always yield results identical to the Java Class.getName method:
                throw new NeurophInputException("Error executing query at JdbcInputAdapter", ex);
            }
        }
        protected int getColumnCount(Env env)
        {
            try {
                ResultSetMetaData md = getMetaData();

                if (md == null)
                {
                    return(-1);
                }

                return(md.getColumnCount());
            }
            catch (SQLException e) {
                setError(env, e);

                return(-1);
            }
        }
  private bool init(ResultSetMetaData metaData)
    
  {
    int columnCount = metaData.getColumnCount();

    if (_columnAsName != null) {
      for (int i = 1; i <= columnCount; i++) {
        string name = metaData.getColumnName(i);
        if (name.equals(_columnAsName)) {
          _column = i;
          break;
        }
      }
    }

    _isValid = _column > 0 && _column <= columnCount;

    return true;
  }
        protected Value fetchArray(Env env, int type, bool isOrderIndexBeforeName)
        {
            try {
                if (_rs == null)
                {
                    return(NullValue.NULL);
                }

                if (_rs.next())
                {
                    _isValid = true;

                    ArrayValue array = new ArrayValueImpl();

                    ResultSetMetaData md = getMetaData();

                    int count = md.getColumnCount();

                    if ((type & FETCH_ASSOC) != 0)
                    {
                        _columnNames = new Value[count];

                        for (int i = 0; i < count; i++)
                        {
                            string columnName = getColumnLabel(md, i + 1);

                            _columnNames[i] = env.createString(columnName);
                        }
                    }

                    for (int i = 0; i < count; i++)
                    {
                        Value value = getColumnValue(env, i + 1);

                        if (isOrderIndexBeforeName)
                        {
                            if ((type & FETCH_NUM) != 0)
                            {
                                array.put(LongValue.create(i), value);
                            }

                            if ((type & FETCH_ASSOC) != 0)
                            {
                                array.put(_columnNames[i], value);
                            }
                        }
                        else
                        {
                            if ((type & FETCH_ASSOC) != 0)
                            {
                                array.put(_columnNames[i], value);
                            }

                            if ((type & FETCH_NUM) != 0)
                            {
                                array.put(LongValue.create(i), value);
                            }
                        }
                    }

                    return(array);
                }
                else
                {
                    return(NullValue.NULL);
                }
            }
            catch (SQLException e) {
                log.log(Level.FINE, e.ToString(), e);
                return(NullValue.NULL);
            }
        }