SQL Anfragen in MFC

alika

Grünschnabel
Hallo,

ich bin neu hier und komme gleich mit Problemen.

Ich habe eine Datenbank angebunden, die nur String-Einträge hat. Dann mache ich folgendes:

dBank->Open(CRecordset::snapshot, _T("Select * from Verzeichnisstruktur where Kategorie = 6" ));

Es funktioniert super. Was ich brauche ist aber

dBank->Open(CRecordset::snapshot, _T("Select * from Verzeichnisstruktur where Kategorie = Müller" ));

Oder auch einen anderen String/Familiennamen. Und das klappt nicht, die Fehlermeldung ist:

"1 Parameter wurde erwartet, aber es wurden nur wenig Parameter übergeben"

Kann mir bitte jemand helfen und sagen, wie man es erzwingt, dass nach dem Namen aussortiert wird?

Danke an alle, die sich Mühe machen,
Alika
 
versuch doch mal den string in ' einzugeben dann sollte es klappen

Grüsse bb

PS: Select * ist immer langsamer als ein select Feld1, Feld2 usw.
 
So weit war ich auch, aber auch das bringt nichts, dann werden "Datentypen in Kriterienausdruck unverträglich" angemeckert.

Aber schneller funktioniert das Ganze jetzt auf jeden Fall. Danke.
 
Ja.

// Feld-/Parameterdaten
//{{AFX_FIELD(CDatenbankSet, CRecordset)
CString m_Kategorie;
CString m_Name;
CString m_Info;
CString m_Vorgaenger;
//}}AFX_FIELD

Auch
CString s("Müller");
dBank->Open(CRecordset::snapshot, _T("Select * from Verzeichnisstruktur where Kategorie.Compare(s)==0")); klappt nicht
Fehlermeldung:
"Syntaxfehler (fehlender Operator) in Abfrageausdruck Kategorie.Compare(s)==0"
 
ich meinte in der Daten bank die Sql Syntax ist nämlich 100%
mit '
wenn es ein Stringfeld ist wenn du eine Mysql datenbank hast dann kann es ein ` sein aber auf jeden fall brauchst du ein Tueddel

Grüsse bb
 
Ich habe zwar einbisschen theoretisches Vorwissen in Datenbanken, aber so wirklich verstanden habe ich das Ganze nie. Ich habe eine Excel-Tabelle, in der ich Zellenformat ändern kann.

Ich habe in MSDN auch eine Tabelle gefunden, die ANSI SQL und C++ Datentypen in Verbindung zu einander bringt, aber ich weiß nicht, was ANSI SQL Datentypen mit Excel zu tun haben.

Geht es denn nicht mit meiner Excel-Tabelle? Falls doch, wie kann ich denn in der Tabelle feststellen, was für ein Datentyp ich habe.

Bittend um Hilfe,
Alika
 
Ich habe es geschafft. Danke nochmal an bb.

Es lag an dem Excel. Ich weiß zwar nicht wieso ein Excel-Text kein Text ist, aber offensichtlich lag es daran. Erstelle ich die Tabelle in Access, funktioniert alles.
 
aber ich weiß nicht, was ANSI SQL Datentypen mit Excel zu tun haben.


dein Sql ist eigentlich so halbwegs nach Ansi -Standard (bis auf die Tueddel :D ) Ne aber im Ernst wenn in deiner Spalte Kategorie in den 1. fünf Feldern (können auch mehr oder weniger sein) eine Zahl steht die auch so formatiert wird geht die "Datenbank" Engine hin und interpretiert dieses Feld als Zahlenfeld somit kannst du also nur über Zahlen darauf zugreifen. (Deswegen funktioniert dein sql aus #1) wenn du vor alle Zahlen ein ' schreibst und die Excel Tabelle speicherst, sollte es danach auch mit deinem Herrn Müller funktionieren.


Grüsse bb
 

Neue Beiträge

Zurück