Announcement

Collapse
No announcement yet.

Datei ändern in Query, dann speichern am Festplatte

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

  • Datei ändern in Query, dann speichern am Festplatte

    Hello,

    Ich habe ein DBGrid welcher Datei anzeigt aus ein Query.

    Ich habe ein SQL tutorial gelesen und Ich denke dass mit WHERE dass record selektieren kann und dann mit UPDATE ein field ändern field ändern kann.


    z.B.

    UPDATE table_name SET column1 = some value WHERE column2 = some value

    Ist das schön richtig oder gehe Ich hier falsch? Ich habe es ausprobiert aber kein aktion wie Ich dachte.

    Wann die Datei geändert is soll die Datei auch gespeichert werden am Festplatte.

    Ich brauche C++ Builder 6.0

    Danke ...

  • #2
    Grundsätzlich müsste der Update-Befehl so funktionieren. Möglicherweise zeigt das Grid danach aber noch den alten Wert an.

    Comment


    • #3
      Grundsätzlich müsste der Update-Befehl so funktionieren.
      Dass war mein Idee auch, aber Ich bekomme immer ein Fehler dass Ich kein Datei ändern kann da die Query nür <read only> ist.

      Möglicherweise zeigt das Grid danach aber noch den alten Wert an.
      Dass kann Ich mit Query->Close/Open oder Update machen, kein problem damit.

      Comment


      • #4
        Wie sieht die Abfrage genau aus?
        Wie rufst du die Abfrage auf?

        Comment


        • #5
          Code:
          Query2->Open();
          
           sprintf(SQLText, "UPDATE speeldagen SET uitslag1 = %d WHERE thuis = %d AND bezoekers = %d;", uitslag1, thuis, bezoekers);
          
          Query2->SQL->SetText(SQLText);
          
          Query2->Close();
          Es muss sein dass die SQL string nicht Korrekt aufgebaut ist da Ich mit ein Einfache SQL String keine
          problem habe:

          Code:
           sprintf(SQLText, "SELECT * FROM speeldagen;");
          Diese SQL String funkioniert güt ! Etwass ist falsch mit dass UPDATE SQL String.

          Ich bekomme erstmal ein "Error Creating cursor handle"
          Zuletzt editiert von Quadran; 22.08.2007, 18:48. Reason: etwass additieren

          Comment


          • #6
            Code:
            Query2->Open();
            
             sprintf(SQLText, "UPDATE speeldagen SET uitslag1 = %d WHERE thuis = %d AND bezoekers = %d;", uitslag1, thuis, bezoekers);
            
            Query3->SQL->SetText(SQLText);
            Query3->ExecSQL();
            
            Query2->Refresh();

            Comment


            • #7
              Hallo Markus,

              So wie Ich verstehe muss Ich die Resultaten zum ein neue Query schreiben?

              Stimmt dass?

              Comment


              • #8
                Ich habe noch schnell ein Test gemacht mit ein Zweite Query und das funkioniert!!!

                Danke Markus, und dann kann Ich jetz schlafen gehen (00:11) !

                Comment


                • #9
                  Hmmmm, es funkioniert nür mit dass erste record in Query2
                  Die andere geht noch nicht.

                  Code:
                  Query2->Open();
                  
                     sprintf(SQLText, "UPDATE speeldagen SET uitslag1 = %d, uitslag2 = %d WHERE speeldag = %d AND wedstrijd = %d AND thuis = %d AND bezoekers = %d;", uitslag1, uitslag2, speeldag, wedstrijd, thuis, bezoekers);
                  
                     Query5->SQL->SetText(SQLText);
                     Query5->ExecSQL();
                  
                     Query2->Refresh();

                  Comment


                  • #10
                    Ach du willst alle updaten, dann geht das einfacher:

                    Code:
                    UPDATE speeldagen SET uitslag1 = %d, uitslag2 = %d;
                    Nach welchem Muster willst du die Datensätze ändern?

                    Comment


                    • #11
                      Es sind Datei Tabellen von Füssballspiel

                      uitslag1 = Tor1
                      uitslag2 = Tor2

                      speeldag = Nummer des SpielTag
                      wedstrijd = Nummer des Spiel
                      thuis = Heim Team1
                      bezoekers = Besuchers Team2

                      Dass braucher ruft das gewunschte Nummer des Spieltag und Spiel, Heim und Besucher Team.

                      Dann kann er dass Tor1 und Tor2 eingeben

                      Darum wird Spieltag und Spielnummer, Heim und Besucher Team abgefragt in SQL.
                      Wann alles stimmt wirden Tor1/2 gespeichert in die Query.

                      Comment


                      • #12
                        Aber wie kommt dass nür den Erste Datei von Query geandert konnte werden?

                        Comment


                        • #13
                          Ich verstehe noch nicht ganz den Ablauf. Was wird im Query2 abgefragt? Wie steht das Update mit dieser Abfrage im Zusammenhang? Wo kommen die zu Werte (Tore?) für die Änderung her? (Eingabemaske?)

                          Comment


                          • #14
                            Hallo Markus:

                            Query2 ist ein Resultat in DBGrid2 wo
                            Spieltag, Spielnummer, Nummer des Heim Team, Nummer des Besucher team, Tor1 & 2 sind angezeigt:

                            Das passiert mit :

                            Code:
                               dummy3 = Query1->Fields->FieldByName("SPEELDAG")->AsInteger;
                               sprintf(SQLText, "SELECT * FROM speeldagen WHERE speeldag = %d ORDER BY speeldag ASC, wedstrijd ASC;", dummy3);
                            
                               Query2->SQL->SetText(SQLText);
                            Wann Ich dann im DBGrid klicke dann wirden die Tor1 und Tor2 zum eine
                            Edit1->Text und Edit2->Text kopiert wo der braucher änderungen machen kann.

                            Dann muss er auf eine button klicken und dan wird diese Kode ausgefuhrt (deine Kode)

                            Code:
                             Query2->Open();
                            
                               sprintf(SQLText, "UPDATE speeldagen SET uitslag1 = %d, uitslag2 = %d WHERE speeldag = %d AND wedstrijd = %d AND thuis = %d AND bezoekers = %d;", uitslag1, uitslag2, speeldag, wedstrijd, thuis, bezoekers);
                            
                               Query5->SQL->SetText(SQLText);
                               Query5->ExecSQL();
                            
                               Query2->Refresh();
                            
                               Query2->Close();
                               Query2->Open();
                            wo die Tor1 und Tor2 (normal) zum die Query2 geschrieben wird in Funktion des Spieltag, Spielnummer, Heim und Besucher Team.

                            http://www.uploadarchief.net/files/download/c%2B%2B.jpg

                            http://www.uploadarchief.net/files/d.../screencpp.jpg
                            Zuletzt editiert von Quadran; 23.08.2007, 16:38.

                            Comment


                            • #15
                              Alles funkioniert wie Ich wille !

                              Danke allen, Ich war in ein kreislauf mit meine SQL String.

                              Comment

                              Working...
                              X