Frage

I have the following code:

    // OPEN THE DATABASE
    ODatabaseDocumentTx db = new ODatabaseDocumentTx("remote:localhost/test").open("admin", "admin");

    // CREATE A NEW DOCUMENT AND FILL IT
    for(int i = 0; i < 10; i++){
    ODocument doc = new ODocument("Foo");
        doc.field( "number", i );
        doc.save();
    }
    db.close();

When calling "select * from Foo" the output is:

rid: 17:0 version: 0 class: Foo number: 0

Why is there only one record and not 10 with numbers 0 to 9 ?

What am I doing wrong?

War es hilfreich?

Lösung

Check this

package com.excers;

import java.util.List;

import com.orientechnologies.orient.core.db.document.ODatabaseDocumentTx;
import com.orientechnologies.orient.core.record.impl.ODocument;
import com.orientechnologies.orient.core.sql.query.OSQLSynchQuery;

public class DBTESTER {

    public static void main(String[] args) {
        // OPEN THE DATABASE

        // ODatabaseDocumentTx db = new ODatabaseDocumentTx
        // ("local:D:/OrientDB/orientdb-community-1.7-rc1/orientdb-community-1.7-rc1/databases/petshop").create();
        ODatabaseDocumentTx db = new ODatabaseDocumentTx(
                "local:D:/OrientDB/orientdb-community-1.7-rc1/orientdb-community-1.7-rc1/databases/petshop")
                .open("admin", "admin");

        // CREATE A NEW DOCUMENT AND FILL IT
        for (int i = 0; i < 10; i++) {
            ODocument doc = new ODocument("foryou");
            doc.field("number", i);
            doc.save();
        }
        List<ODocument> result = db.query(new OSQLSynchQuery<ODocument>(
                "select * from foryou"));

        System.out.println("No of ODocuments:\t" + result.size());

        for (ODocument od : result) {
            System.out.println(od.field("number")+"\t");

        }

    }

}

output is

No of ODocuments:   10
0   1   2   3   4   5   6   7   8   9   
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top