Vergabe von undeklarieten Werten

Bitte aktiviere JavaScript!
@kneitzel ,
wie kann ich alle Projekte eines Jahres Abfragen ?
übrigens
Operator
Class to distinguish various operators used in an Expression.

See Also: Serialized Form
 
also Solche Abfrage, wie im normalen Lib, gib nicht bei uns und zwar

Java:
public class App {

    public static void main(String[] args) throws ClassNotFoundException {
       
        // Connect to database
        String hostName = "xxxxxxxxx"; // update me
        String dbName = "DMT"; // update me
        String user = "sa"; // update me
        String password = "46,00fas75"; // update me
        String url = "jdbc:mysql://" + hostName + "/" + dbName + "/" + user + "/" + password;
        Connection connection = null;
       

        try {
            connection = DriverManager.getConnection(url);
            String schema = connection.getSchema();
            System.out.println("Successful connection - Schema: " + schema);

            System.out.println("Query data example:");
            System.out.println("=========================================");

            // Create and execute a SELECT SQL statement.
            String selectSql = "SELECT [Projektnummer]FROM [dbo].[Boards]";

            try (Statement statement = connection.createStatement();
            ResultSet resultSet = statement.executeQuery(selectSql)) {

                // Print results from select statement
                System.out.println("Projektnummer");
                while (resultSet.next())
                {
                    System.out.println(resultSet.getString(1) + " "
                        + resultSet.getString(2));
                }
                connection.close();
            }
        }
        catch (Exception e) {
            e.printStackTrace();
        }
    }
}
 
@kneitzel ,
wie kann ich alle Projekte eines Jahres Abfragen ?
übrigens
Operator
Class to distinguish various operators used in an Expression.

See Also: Serialized Form
Also dieser Auszug der Dokumentation zu Operator sagt erst einmal nichts aus. Ich vermute, dass in der Klasse mehrere Konstanten definiert sind, so wie eben das Operator.IN, welches Du verwendet hast. Ebenso wichtig ist die Frage nach dem Typ des Projektcodes. Da wurden bisher nur Strings als Parameter übergeben, daher vermute ich einmal, dass diese vom Typ (n)(var)char sind. Daher würde ich an Deiner Stelle mal nach einem Operator.LIKE schauen. Gibt es sowas in der Art? Wenn es das gibt, dann würde ich als Wert einfach ein "2019%" oder so übergeben um eben alle Projekte des Jahres 2019 zu erhalten.

Wichtig ist dabei natürlich, dass Du kein Array aufbaust so wie bei der Operator.IN Abfrage. Sollte sich von alleine verstehen, aber Du hast hier einen relativ unbedarften Eindruck hinterlassen, was Software Entwicklung angeht.

Als Code wäre dann also sowas wie
Java:
IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
denkbar. Wobei Expression als dritten Parameter evtl. keinen raw Type wie ein String erwartet sondern immer ein QueryOperand, so dass da evtl. statt "2019%" ein new QueryOperand("2019%") oder so kommen muss.
(Aber das ist jetzt absolut geraten! Ich sehe ja nur die Nutzung von QueryOperandList und kenne die Lib von euch in keiner Weise. Daher kann ich nicht wissen, was Operator alles so bietet, was die super Typen / Interfaces von QueryOperandList sind bzw. was der 3. Parameter für einen Typ hat und so weiter ...)
 
Also dieser Auszug der Dokumentation zu Operator sagt erst einmal nichts aus. Ich vermute, dass in der Klasse mehrere Konstanten definiert sind, so wie eben das Operator.IN, welches Du verwendet hast. Ebenso wichtig ist die Frage nach dem Typ des Projektcodes. Da wurden bisher nur Strings als Parameter übergeben, daher vermute ich einmal, dass diese vom Typ (n)(var)char sind. Daher würde ich an Deiner Stelle mal nach einem Operator.LIKE schauen. Gibt es sowas in der Art? Wenn es das gibt, dann würde ich als Wert einfach ein "2019%" oder so übergeben um eben alle Projekte des Jahres 2019 zu erhalten.

Wichtig ist dabei natürlich, dass Du kein Array aufbaust so wie bei der Operator.IN Abfrage. Sollte sich von alleine verstehen, aber Du hast hier einen relativ unbedarften Eindruck hinterlassen, was Software Entwicklung angeht.

Als Code wäre dann also sowas wie
Java:
IndexingPropertyName idxProjnr = new IndexingPropertyName("Projektnummer", docArea);
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
denkbar. Wobei Expression als dritten Parameter evtl. keinen raw Type wie ein String erwartet sondern immer ein QueryOperand, so dass da evtl. statt "2019%" ein new QueryOperand("2019%") oder so kommen muss.
(Aber das ist jetzt absolut geraten! Ich sehe ja nur die Nutzung von QueryOperandList und kenne die Lib von euch in keiner Weise. Daher kann ich nicht wissen, was Operator alles so bietet, was die super Typen / Interfaces von QueryOperandList sind bzw. was der 3. Parameter für einen Typ hat und so weiter ...)
@kneitzel,

Danke für den Vorschlag
public IndexingPropertyName( String name, String areaName)

Creates an indexing property identifier with a specific name and area name.
Parameters:name - name of property identifier as StringareaName - valid area name as String
 
Zuletzt bearbeitet:
Danke für den Vorschlag leider IndexpropertyName erwartet 3 parameter
public IndexingPropertyName( String name, String areaName)

Creates an indexing property identifier with a specific name and area name.
Parameters:name - name of property identifier as StringareaName - valid area name as String
In deinem Code weiter oben bekommt es zwei Parameter, in @kneitzels Beispiel bekommt es zwei Parameter und laut der Doku hier bekommt es zwei Parameter - wie kommst du plötzlich auf drei?
 
Der Code mit dem IndexingPropertyName ist 1:1 übernommen ohne Anpassung. Bezüglich der zweiten Zeile: Es würde mich wundern, wenn der Code so wie vorgeschlagen funktionieren würde (Wenn dem so wäre: Blödes Universum! Da wäre mit ein Lotto Jackpot lieber gewesen!). Dies sind lediglich Anregungen, wie es aussehen könnte. Für korrekten Code müsste man die zugrunde liegende Library kennen und ich kenne diese nicht und mache nur Vorschläge, wonach man schauen könnte. Verwendete Namen sind dabei lediglich Namen, die ich prinzipiell für verwendbar halten würde. (Also wenn der SQL Operator "in" als Operator.IN abgebildet ist, dann ist der SQL Operator "like" evtl. Operator.LIKE. Und wenn es ein QueryOperandList gibt der einen Listen Query Operanden darstellt, dann ist ein reiner Query Operand evtl. QueryOperand.... Aber was sich der Entwickler der Library gedacht hat kann ich nicht wissen. Daher ist das nur als Anregung für weitere Recherche auf Deiner Seite.
 
Der Code mit dem IndexingPropertyName ist 1:1 übernommen ohne Anpassung. Bezüglich der zweiten Zeile: Es würde mich wundern, wenn der Code so wie vorgeschlagen funktionieren würde (Wenn dem so wäre: Blödes Universum! Da wäre mit ein Lotto Jackpot lieber gewesen!). Dies sind lediglich Anregungen, wie es aussehen könnte. Für korrekten Code müsste man die zugrunde liegende Library kennen und ich kenne diese nicht und mache nur Vorschläge, wonach man schauen könnte. Verwendete Namen sind dabei lediglich Namen, die ich prinzipiell für verwendbar halten würde. (Also wenn der SQL Operator "in" als Operator.IN abgebildet ist, dann ist der SQL Operator "like" evtl. Operator.LIKE. Und wenn es ein QueryOperandList gibt der einen Listen Query Operanden darstellt, dann ist ein reiner Query Operand evtl. QueryOperand.... Aber was sich der Entwickler der Library gedacht hat kann ich nicht wissen. Daher ist das nur als Anregung für weitere Recherche auf Deiner Seite.
@kneitzel,
habe ich doch gesagt es war einen Fehler von mir hatte ich nicht richtig gesehen
leider akzeptiert er nicht diese Schreibweise
Java:
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
 

Anhänge

leider akzeptiert er nicht diese Schreibweise
Java:
Expression exprPrjNr = new Expression (Operator.LIKE, idxProjnr, "2019%" );
Der ganze Beitrag von @kneitzel bezieht sich darauf, dass die Schreibweise so nicht klappen wird.

Wir können hier alle nur raten, wie man das machen kann, was du machen willst.


BTW, interne Firmendaten solltest du vielleicht nicht öffentlich posten, auch nicht in Namen von Bildern...
 
Ich kann nur die schon genannten Tipps wiederholen: Frag Kollegen die sich damit auskennen oder guck in die Doku (die ja anscheinend vorhanden ist). Wildes rumraten bringt vermutlich am wenigsten...
 
Evtl. solltest Du einmal schauen, was QueryOperand für Konstruktoren hat bzw. was es da alles an Unterklassen gibt.

Laut Deinem Bildschirmfoto gibt es offensichtlich einen Konstruktor, der Operand und QueryOperand nimmt.

Also ist die Frage, wie Du einen QueryOperand erstellen kannst, der eben enthält, dass es um die Property "Projektnummer" geht und der Wert "2019%" geprüft werden soll? Aber das ist alles nur raten. Hier musst Du Dir die Library erarbeiten und schauen, was da wie angeboten wird. Du brauchst die Expression um da unter dem Strich die SQL Abfrage mit einem WHERE Projektnummer LIKE "2019%" hin zu bekommen.

Also => Schau selbst über die Möglichkeiten der Library drüber! Frag Kollegen, wenn Du nicht klar kommst.
 
Evtl. solltest Du einmal schauen, was QueryOperand für Konstruktoren hat bzw. was es da alles an Unterklassen gibt.

Laut Deinem Bildschirmfoto gibt es offensichtlich einen Konstruktor, der Operand und QueryOperand nimmt.

Also ist die Frage, wie Du einen QueryOperand erstellen kannst, der eben enthält, dass es um die Property "Projektnummer" geht und der Wert "2019%" geprüft werden soll? Aber das ist alles nur raten. Hier musst Du Dir die Library erarbeiten und schauen, was da wie angeboten wird. Du brauchst die Expression um da unter dem Strich die SQL Abfrage mit einem WHERE Projektnummer LIKE "2019%" hin zu bekommen.

Also => Schau selbst über die Möglichkeiten der Library drüber! Frag Kollegen, wenn Du nicht klar kommst.
Wenn es das nicht gibt kann er doch einfach alle Nummern holen und selber filtern
 
Evtl. solltest Du einmal schauen, was QueryOperand für Konstruktoren hat bzw. was es da alles an Unterklassen gibt.

Laut Deinem Bildschirmfoto gibt es offensichtlich einen Konstruktor, der Operand und QueryOperand nimmt.

Also ist die Frage, wie Du einen QueryOperand erstellen kannst, der eben enthält, dass es um die Property "Projektnummer" geht und der Wert "2019%" geprüft werden soll? Aber das ist alles nur raten. Hier musst Du Dir die Library erarbeiten und schauen, was da wie angeboten wird. Du brauchst die Expression um da unter dem Strich die SQL Abfrage mit einem WHERE Projektnummer LIKE "2019%" hin zu bekommen.

Also => Schau selbst über die Möglichkeiten der Library drüber! Frag Kollegen, wenn Du nicht klar kommst.
Hier sind alle mögliche constructors
Java:
Constructor and Description
Expression()
Creates a default expression that is always true (0 = 0).
Expression(Constant constant, Operator op, PropertyName propertyName)
Deprecated.
Expression(ContextVariable contextVariable, Operator op, PropertyName propertyName)
Deprecated.
Expression(ExpressionOperand lhs, Operator operator, ExpressionOperand rhs)
Deprecated.
Expression(Operator op, QueryOperand lhs)
Creates an expression with left hand side operand and operator.
Expression(Operator op, QueryOperand lhs, QueryOperand rhs)
Creates an expression with left hand side operand, operator and right hand side operand.
Expression(PropertyName propertyName, Operator op)
Deprecated.
Expression(PropertyName propertyName, Operator op, Constant constant)
Deprecated.
Expression(PropertyName propertyName, Operator op, ContextVariable contextVariable)
Deprecated.
Expression(PropertyName propertyName, Operator op, List list)
Deprecated.
Expression(PropertyName propertyNameL, Operator op, PropertyName propertyNameR)
Deprecated.
 
Wichtig ist, dass du dir ein Verständnis der vorhandenen Klassen aneignest. Wozu dient welche Klasse? Ohne dieses Wissen bist du aufgeschmissen. Und das können wir Dir nicht vermitteln. Wir können nur Hinweise geben, aber diese Hinweise waren offensichtlich bisher nicht hilfreich, so dass ich mich frage, ob die Grundlagen vorhanden sind ....
 
Meine Idee währe einfach die DB Liste in CSV datei abspeichern.Dann kann man mit Word einfach alles löschen bis auf Nummern. Die Nummern kann man dann als Array einlesen.
 
Am ende steht das ;und der zeilenwechsel
Mit suchen und ersetzen suche nach "Zeilenwechsel" und ersetze es mit "Zeilenwechsel sagNummer(" dann suche" ;" und ersetze es mit ");" wenn du dann diese Klasse schreibst
Code:
package NummernSage;

public class NummernSager {
public static void main (Integer[]args){
    sagNummer (11);
    sagNummer (11);
    
}
public static void sagNummer (int nummer){
    System.out.println(nummer);
}

}
und alles anstelle sagNummer(11)rein kopierst und diese system.out.println(nummer)deinen Bedürfnissen anpasst.Währe dir dann geholfen?
 
Passende Stellenanzeigen aus deiner Region:

Neue Themen

Oben