Announcement

Collapse
No announcement yet.

Einlesen eines konkreten Datensatzes - Borland C++ Builder - TQuery TDBEdit

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Einlesen eines konkreten Datensatzes - Borland C++ Builder - TQuery TDBEdit

    Yoa, ich komm so langsam voran. Aber nu kommt wieder ein Problem mir in die Quere. Und ich hab nicht mal ne Idee, woran das liegen könnte. Folgendes:

    Folgende Komponenten sind vorhanden:
    • TDataSource
    • TQuery
    • TUpdateSQL
    • mehrere TDBEdit-Felder


    Die Felder sind wie folgt verbunden:
    Die TDataSource hat als DataSet das TQuery.
    Im TQuery ist als UpdateObject das TUpdateSQL eingetragen.
    Die TDBEdit-Felder haben als DataSource die TDataSource.

    Im TQuery soll folgender SQL-Befehl ausgeführt werden:
    Code:
    select * from TEST_PKTOBJ where OBJ_NR = '2'
    OBJ_NR ist PrimaryKey der Tabelle. Also soll genau EIN Datensatz geholt werden. Dieser Soll in den TDBEdit-Feldern angezeigt werden. Wird es aber nicht. Sondern immer der erste Eintrag aus der gesamten Tabelle.

    Um das zu erreichen, mache ich folgendes:
    Code:
        AnsiString SQLStr;
    
        qry_TEST_PKTOBJ->Close();
    
        SQLStr  = "select * from TEST_PKTOBJ where TEST_PKTOBJ.\"OBJ_NR\" = '";
        SQLStr += ObjNr;
        SQLStr += "'";
    
        qry_TEST_PKTOBJ->SQL->Text = SQLStr;
    
        qry_TEST_PKTOBJ->Open();
    Jemand eine Idee??

  • #2
    Mal den fertigen SQLStr angesehen im Debugger
    Christian

    Comment


    • #3
      yo, der stimmt. das ist ja das merkwürdige.

      Comment


      • #4
        also der SQL-Ausdruck stimmt. Nu gibt es nur die beiden Möglichkeiten, dass erstens die Query nicht ausgeführt wird oder einfach der Datensatz nicht richtig an die TDBEdit-Felder übertragen wird. Jemand ne Idee??

        Comment


        • #5
          Nun, den ersten Fall wird man testen, können, in dem man den im Programm erzeugten SQl mal direkt gegen die DB laufen lässt. Bsp. in MySql im QueryBrowser laufen lassen
          Christian

          Comment


          • #6
            der SQL-String funktioniert ja, Ist ja nu auch nicht gerade was exotisches. Frage war eher, ob es sein könnte, dass das TQuery-Objekt da irgendwie nicht so mit arbeitet, wie ich das will.

            Normal ist es doch, dass, wenn nur EIN Datensatz als SQL-Result entsteht, auch genau dieser in den TDBEdit-Feldern angezeigt werden müsste, wenn diese als DataSource die TDataSource, die im DataSet dieses TQuery-Objekt hat, eingetragen ist. Oder??

            Comment


            • #7
              Problem hat sich erübrigt. Einfach durch die Tatsache, dass ich das DataModule, in dem die Objekte angelegt waren, in den Optionen des Projekts aus der Liste, der automatisch zu erstellenden Formen, herausgenommen hab.

              Es ist mir dennoch ein Rätsel, weshalb es nicht funktioniert hatte.

              Comment

              Working...
              X