Vergabe von undeklarieten Werten

Bitte aktiviere JavaScript!
Ich habe immer noch nicht verstanden wo genau diese Projectnummern nun eigentlich stehen. Sind das Dateinamen? oder steht das was in einer Datenbank? Oder ist sogar alles einfach nur lokal im Code und wird dann global serialisiert und weggeschreiben und beim neustart wieder gelesen?
 
Ich habe immer noch nicht verstanden wo genau diese Projectnummern nun eigentlich stehen. Sind das Dateinamen? oder steht das was in einer Datenbank? Oder ist sogar alles einfach nur lokal im Code und wird dann global serialisiert und weggeschreiben und beim neustart wieder gelesen?
Ich glaube, das hat in diesem Thread niemand inklusive TO verstanden...
 
Die Liste der Projektnummer ändert sich mit der Zeit

wenn ich richtig verstanden habe es ist unmöglich ?
 
Die Unmöglichkeit kommt aktuell nur daher, dass niemand das Problem wirklich verstanden hat ;)


Du willst alle aktuell (zum Zeitpunkt der Ausführung, nicht des Programmierens!) existierenden Projektnummern abfragen: Lies sie aus der Datenbank aus, da werden sicherlich alle drin stehen.

Du willst alle jemals möglichen Projektnummern generieren (unabhängig von ihrer bisherigen Existenz): @White_Fox hat in #18 eine Lösung gezeigt.

Du willst Projektnummern konvertieren (das Jahr anpassen, also z.B. aus "2019123" "2020123" machen): @mihe7 hat in #3 eine Lösung gezeigt.

Du meinst etwas anders: Beschreib das Problem noch mal mit Beispielen, wenn es hilft auch gerne in deiner Muttersprache.
 
Na und? Um welche DB handelt es sich denn?

SQL:
SELECT PNUMMER FROM PROJEKTE;


Es ist kaum etwas unmöglich. Man müsste halt verstehen, worum es geht.
Hi Temi,

es handelt sich um MSSQL, ich weiss es, wir verwenden eigene lib wie du oben gesehen hast den constructor
QueryOperandList() wir verwendet, habe ich inzwischen neue construktor gesehen und zwar, aber noch nicht angewandt.
Ich wiederhole mich meinen aktuelle kann nur ein Projekt aufrufen, indem ich händisch die Projektnummer eingeben sollte, die wurde so implementiert

Java:
if (PROJEKT_LIST == null || PROJEKT_LIST.isEmpty() || PROJEKT_LIST.size()<1){
            PROJEKT_LIST.add("2019303");
        }
        List<QueryOperand> prjListQO = new ArrayList<QueryOperand>();
        for ( String projnr:PROJEKT_LIST){
            prjListQO.add(new Constant(projnr));
        }
        _prjQOList = new QueryOperandList(prjListQO);
in diesem Codestück wurde den ersten constructor verwendet

Ich möchte nicht jedes Mal, wenn ein Projekt bearbeitet werden muss, dass die Projektnummer zuerst in den Code geschrieben wird. Wie du siehst, kann der Code nur 1 Projekt verarbeiten, während wir Tausende von Projekten haben


1-
Java:
public QueryOperandList()
Creates an empty query operand list.

2-
Java:
public QueryOperandList(<List? extends QueryOperand > list)
Creates a query operand list which contains the elements of given list.
Parameters:list - the list as List

3-
Java:
public QueryOperandList(QueryOperand...  queryOperands)
Creates a query operand list which contains given query operands.
Parameters:queryOperands - the query operands as QueryOperands
 
Ich möchte nicht jedes Mal, wenn ein Projekt bearbeitet werden muss, dass die Projektnummer zuerst in den Code geschrieben wird. Wie du siehst, kann der Code nur 1 Projekt verarbeiten, während wir Tausende von Projekten haben
Und was genau hindert dich daran, deinen Code so zu ändern, daß dieser Abschnitt mehrmals nacheinander ausgeführt wird? Und zwar für jede Projektnummer?
Und warum zur Hölle kannst du nicht alle existierenden Projektnummern aus der Datenbank holen?
 
Was bekommst Du denn zurück, wenn Du keine Nummer angibst? Und wo wird denn die Abfrage ausgeführt?
 
Also ich denke, dass Du auf jeden Fall einmal die Java Grundlagen verstehen solltest. Nur weil da in dem Beispielcode steht:
Java:
PROJEKT_LIST.add("2019303");
bedeutet das doch nicht, dass hier immer ein im Code angegebener String stehen muss. Dieser Projektcode kann irgend ein String sein, egal woher er kommt. (Kommandozeile, Eingabe vom User zur Laufzeit, aus einer Datenbank gelesen, ....)

Und das ist eine Liste von Projekten. Wer sagt, dass da nur ein Projekt angegeben werden kann? Evtl. kann man in diese Liste mehrere Projekte hinzufügen und er lädt dann mehrere Projekte?

Wenn da immer nur ein Projektcode angegeben werden könnte, dann hätte man da keine Liste erzeugt, über die dann iteriert wird!

Und wenn das etwas ist, das in der Firma bei euch entwickelt wurde / benutzt wird: Warum sprichst Du die verantwortlichen Kollegen nicht einfach einmal an? Die können Dir evtl. in einem direkten Gespräch die Grundlagen ihres Data Access Layers verraten.

Und der Data Access Layer wird irgendwo einen Connection String haben. Den kannst Du natürlich auch für beliebige Abfragen nutzen - so der DAL die notwendigen Funktionen noch nicht hat.
 
also ich werde dir einige Zeile zukommen lassen.
Mit unserem Lib werden nicht die Abfrage ausgeführt wie in normales Lib

IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.IN, idxProjnr, _prjQOList );
 
Mit unserem Lib werden nicht die Abfrage ausgeführt wie in normales Lib
Ich sehe in den Zeilen immer noch kein Ergebnis. Geht das noch weiter?

Ansonsten: wenn Du irgendwelche internen Libs verwenden musst, halte Dich an das, was @kneitzel geschrieben hat und wende Dich an die bei Euch verantwortlichen. Die können Dir vermutlich in 2 Sekunden sagen, ob falls ja, wie Du alle Projektnummern abrufen kannst.
 
Also da sieht man ja auch: Er übergibt eine Liste und die Expression ist eine IN Abfrage: Somit zeigt sich erneut: Da können mehrere Projektnummern angegeben werden!

Man könnte sich jetzt z.B. einmal Anschauen, was Operator sonst noch so definiert. Da ist evtl. auch sowas wie größer als, kleiner als und so. Dann könnte man alle Projekte eines Jahres Abfragen so dies gewünscht ist. Der Data Access Layer scheint also sehr viel zu können. Nur eben sehe ich immer noch mehrere Probleme:
a) Dein konkretes Problem verstehe ich derzeit nicht.
b) Die Beschreibung der zu verwendenden Library fehlt komplett - wir raten anhand von kleinen Codeschnipseln herum.
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben