Announcement

Collapse
No announcement yet.

Sql String funkioniert nicht genau

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

  • Sql String funkioniert nicht genau

    Hallo

    Ich habe folgende SQL String in AdoQuery:

    Code:
    PloegenQuery1->Active = true;
    PloegenQuery1->SQL->Clear();
    PloegenQuery1->SQL->SetText("SELECT * FROM PLOEGEN ORDER BY PLOEGNAAM ASC;");
    PloegenQuery1->Open();

    Mein Datei wird leiter nicht sortiert.
    Da Ich verstehe aus Hilfe das Ich bei SELECT Open() brauchen muss habe Ich das so gemacht.

    Bei DELETE, UPDATE etc, lese Ich bei Hilfe das Ich ExecSQL() brauchen muss
    Code:
    PloegenQuery1->Active= true;
    PloegenQuery1->SQL->Clear();
    PloegenQuery1->SQL->SetText("DELETE * FROM Ploegen;");
    PloegenQuery1->ExecSQL();
    Und das funkioniert.
    Was mach Ich falsh mit das ersten SQL String?

    Danke,

  • #2
    Mein Datei wird leiter nicht sortiert.
    Woran erkennst du das, bzw. wie liest du das Ergebnis des SELECT aus? Welcher Fehler kommt?

    EDIT

    Bei einem Open ist ein
    PloegenQuery1->Active = true;
    nicht erforderlich

    Nutze statt
    SQL->SetText
    SQL->Add
    Zuletzt editiert von Christian Marquardt; 06.10.2008, 18:32.
    Christian

    Comment


    • #3
      Hello

      Keine Fehler angezeigt.

      Das resultat probiere Ich direkt in MS Access an zu schauen, naher Ich
      das C++ programm geschlossen habe.

      Danke,

      Comment


      • #4
        Da kein Fehler angezeigt wird, wird der SQL wohl richtig ausgeführt. Vermutlich wird dann in Access die Ursache zu suchen sein.

        Prüfe die Reihenfolge der aus dem SQL gelieferten Daten mit der fields Eigenschaft der Query.

        PloegenQuery1->Open();
        while(!PloegenQuery1->Eof)
        {
        for(x=0;x<PloegenQuery1->FieldCount;x++)
        String test= PloegenQuery1->Fields->Fields[Hier ein Feld zum prüfen]->AsString;
        PloegenQuery1->Next();
        }
        PloegenQuery1->Close();
        Christian

        Comment


        • #5
          Hallo,

          Ich habe deine Kode aus probiert,

          PLOEGNAAM ist in Access Text definiert

          aber in C+= bekomm Ich fehler:

          cannot convert char* to int

          Type mismatch in parameter Index (wanted int got char*)

          Comment


          • #6
            Wenn du in deiner Hilfe nachgesehen hättest, hättest du gemerkt, dass

            Fields[Hier ein Feld zum prüfen]

            ein Array ist welches ein Index von Typ int benötigt:

            Fields[EINE ZIFFER!!!!]

            Also der Index von PLOEGNAAM
            Ansonsten siehe -> FieldByName
            Christian

            Comment


            • #7
              Hallo,

              aber Ich muss in SQL string

              "SELECT * FROM PLOEGEN ORDER BY PLOEGNAAM ASC;"

              dass PLOEGNAAM Feld brauchen?

              Comment


              • #8
                ????????

                Ja, was hat das damit zu tun

                Beispiel:

                Tabelle KUNDE

                NAME VORNAME TELEFON EMAIL

                select * form KUNDE order by NAME asc

                und


                String name= PloegenQuery1->Fields->Fields[0]->AsString;

                String vorname= PloegenQuery1->Fields->Fields[1]->AsString;

                String telefon= PloegenQuery1->Fields->Fields[2]->AsString;
                .....

                Wenn die o.a. Felder als String definiert sind. Ansonsten ->AsInteger o.a.
                Christian

                Comment


                • #9
                  Vermutlich wird dann in Access die Ursache zu suchen sein
                  Ich habe direkt ein DBGrid zum aus lesen gemacht aber gleichen problem!

                  Comment


                  • #10
                    Siehe oben:

                    Prüfe die Reihenfolge der aus dem SQL gelieferten Daten mit der fields Eigenschaft der Query.
                    Christian

                    Comment

                    Working...
                    X