Announcement

Collapse
No announcement yet.

C++, odbc, access

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

  • C++, odbc, access

    Hallo,

    ich habe ein Problem mit den oben genannten Komponenten.
    Eine Tabellenerstellungs-Abfrage, die unter ACCESS die korrekten Daten liefert, versagt, wenn sie unter C++ über ODBC ausgeführt wird.
    Es wird nur eine leere Tabelle ohne Daten erzeugt.
    Der Code läuft aber ohne Fehler durch.

    Hier der Codeschnipsel:
    Code:
    CFillerDatenbank* pFillerDB = (( CJuFillerApp* )AfxGetApp() )->GetDB();
    .
    .
    .
     SQL =  "SELECT Temp1.ID_Vater INTO Temp2 FROM Temp1 ";
     SQL += "LEFT JOIN Knoten ON Temp1.ID_Vater = Knoten.ID_Knoten ";
     SQL += "WHERE (((Knoten.ID_Knoten) Is Null));";
    
     try
     {
      pFillerDB->m_db.ExecuteSQL( SQL );
     }
     catch(CDBException* e)
     {
       AfxMessageBox(e->m_strError);
       e->Delete();
     }
    .
    .
    .
    Was mache ich falsch?

    Viele Grüße
    Fridolin

  • #2
    Hallo,

    irgendwie sieht die SQL - Anweisung nicht gut aus:
    Zuerst machst du einen JOIN mit Knoten.Knoten_ID und dann sagst du in der WHERE Klausel, dass Knoten_ID = NULL sein soll.

    Die Ergebnismenge dieser Abfrage ist möglicherweise leer. Ich vermute, in ACCESS sieht der SQL - Befehl etwas anders aus.

    Grüße
    Tino
    Ich habs gleich!
    ... sagte der Programmierer.

    Comment


    • #3
      Hallo Tino,

      das SQL-Statement dient zum Auffinden von "Dateileichen" und ist in ACCESS identisch.
      Dort liefert es den gewünschten Output.

      Ich könnte mir vorstellen, dass der Umweg über ODBC die Ursache für die leere Tabelle ist, weiß es aber nicht wirklich.

      Kann man SQL-Abfragen, die in ACCESS funktionieren so einfach auch über ODBC ausführen?
      Eine etwas simplere Tabellenerstellungs-Abfrage funktioniert aber im gleichen Programm.

      Viele Grüße
      Fred

      Comment


      • #4
        Eine etwas simplere Tabellenerstellungs-Abfrage funktioniert aber im gleichen Programm.
        Was die Schußfolgerung erlaubt, dass der SQL fehlerhaft ist
        Christian

        Comment


        • #5
          Nicht zwingend, denn in ACCESS funktioniert sie ja.
          Die Frage ist halt, ob ODBC etwas gegen die Abfrage hat und wenn ja, was .

          Comment


          • #6
            Die Frage ist halt, ob ODBC etwas gegen die Abfrage hat und wenn ja, was
            Das was tinof sagte, ist nicht von der Hand zu weisen....würde das ähnlich sehen. Unabhängig davon, was MS daraus intern macht
            Christian

            Comment


            • #7
              Ich werde das SQL-Statement mal mit MySQL ausprobieren und dann berichten.

              Viele Grüße
              Fridolin

              Comment

              Working...
              X