Ankündigung

Einklappen
Keine Ankündigung bisher.

Suche nach Datum in Datenbank

Einklappen
X

Suche nach Datum in Datenbank

Einklappen
  • Filter
  • Zeit
Alles löschen
neue Beiträge

  • Suche nach Datum in Datenbank

    Hallo zusammen,

    ich suche in meiner Datenbank Datensätze nach einem Datum. Aber möglicherweise ist "setDateTime" der falsche Aufruf. Kann mir hier jemand weiterhelfen?
    Meine beiden Fragen wären:
    1. welche Methode muss ich wählen um nach einem Datum zu suchen, "setDateTime" scheint falsch zu sein.
    2. Ist das Datenformat korrekt, mit dem ich suche (unten in der Fehlermeldung wird angezeigt, dass das Datum im Format "2020-03-25 00:00:00.0" aufgerufen wird. Ist das korrekt?

    Mein Code:
    def conn = g_dbConnections.systemConnection
    def suchdatum = g_record["2403FF8BCECB884B47BEF3D6996C8FE20EAC0A5E"].value

    def value = g_dbQuery.executeAndGetScalarValue(conn, "SELECT COUNT(*) AS ANZAHL FROM DATAGROUP('5BBBE059D75CC72586D4CE96724310195669477 E') WHERE DT_ZAHLTAG=?") {
    setDateTime(1, suchdatum)
    }

    //ich bin mir hier nicht sicher wie hier der richtige Aufruf lautet 'setDateTime' scheint es nicht zu sein.

    g_log.info("Gefundene Anzahl: "+value)
    Ich erhalte die Fehlermeldung:
    de.uplanet.lucy.server.workflow.WorkflowException: groovy.lang.MissingMethodException: No signature of method: script20517A16D8666BFAB6BCA85856834AB17D8599BE.set DateTime() is applicable for argument types: (java.lang.Integer, java.sql.Timestamp) values: [1, 2020-03-25 00:00:00.0]
    at de.uplanet.lucy.server.workflow.WorkflowEngine.a(U nknown Source)

    Ich danke vorab für Eure Unterstützung.
    Viele Grüße
    Mario

  • #2
    Hoi Mario,
    probier mal setTimestamp(1, suchdatum)
    gruss
    Kerstin

    Kommentar


    • #3
      Noch etwas einfacher wird es meiner Meinung nach bei Nutzung der Groovy eigenen Bordmittel: groovy.sql.Sql.
      So muss man sich Groovy typisch kaum noch um Datentypen kümmern.

      Code:
      import groovy.sql.Sql
      
      def sql = new Sql(g_dbConnections.systemConnection)
      
      def tableName = g_rtCache.dataGroups["8BB8DD2E4FB64411FD6D64D9DABC27D0A7829627"].getTableName()
      def sqlQuery = "SELECT COUNT(*) AS ANZAHL FROM ${tableName} WHERE DT_ZAHLTAG= :zahltag"
      
      def suchdatum = g_record["2403FF8BCECB884B47BEF3D6996C8FE20EAC0A5E"].value
      dev value = sql.firstRow(sqlQuery, [zahltag:suchdatum]).ANZAHL
      
      g_log.info("Gefundene Anzahl: "+value)

      Kommentar

      Lädt...
      X