Hallo zusammen,
ich habe eine Tabelle, in der zu jedem Wochentag mehrere Daten eingetragen sein müssen. Ich muss nun herausfinden, zu welchen Wochentagen bzw. zu welchem Datum noch keine Daten hinterlegt wurden, um diese nachtragen zu können. Ich möchte also die Wochentage selektieren, die in einem bestimmten Zeitbereich nicht vorhanden sind. also die nicht in der Tabelle stehen. (Ich bin mir ziemlich sicher, dass es hier eine Lösung auf Datenbank seite geben muss, sodass ich dass nicht selber programmieren muss). Hat jemand von euch einen gescheiten Vorschlag?
Das Problem in Tabellenform:
Beispieltabelle:
Date - Value
1.1.2000 - valA
2.1.2000 - valB
3 missing
4.1.2000 - valC
5.1.2000 - valD
6 missing
7.1.2000 - valE
Gesuchtes Statement:
SELECT "missingDates" FROM Beispieltabelle BETWEEN 1.1.2000 AND 7.1.2000
Ausgabe:
3.1.2000
6.1.2000
Um weiterzukommen möchte ich zunächst alle Tage im Bereich DatumA bis DatumB in MySQL selektieren und mir fällt leider nichts gescheites ein. Das soll erstmal unabhängig von einer Tabelle sein, ich möchte einfach nur das DBMS nutzen.
Nach dem Motto:
SELECT tage im Bereich 1.1.2000 bis 5.1.2000
Ausgabe:
1.1.2000
2.1.2000
3.1.2000
4.1.2000
5.1.2000
Hier möchte ich einfach eine Ausgabe erzeugen, die mehrere Daten enthält. So wie man das aktuelle Datum selectieren kann, ohne von einer Tabelle zu selektieren. Da wird es doch sicherlich ein gescheites Query zu geben oder?
wlkikiv:
Miq schrieb:
Eine Abfrage von NULL gegen <, >, = etc. ist immer FALSCH.
oder anders (und hoffentlich deutlicher):
Filter = "Ankunft='' or Ankunft IS NULL";
Hi, ich hab da ein paar fragen
Ich habe Visual Studio 2005 und möchte jetzt gerne eine Anwendung entwickeln (C++), bei der ich einen Tunierplan erstellen kann.
Nun ich bin Anfänger und da kommen mir folgende Fragen auf:
-Wie kann ich ein Speichern unter einer Bestimmten Datei endeung ereichen wenn der Benutzter das Programm verwendet
-Wie kann ich dabei immer nur eine Intztanz einer DB erstellen und nur die bearbeiten
-Ich bin von Borland gewöhnt mit einer DBEngine zu arbeiten, aber hier scheint das blos ein Anlegen eines Table objekts sein und dessen werde zu editieren
-Wie kann ich Drucker ausgabe Realisieren (bei dem ein Formular immer nur mit den DB-Inhalten gefüttert wird)
Ich weiß das klingt hier alles sehr anspruchsvoll und gleichzeitig Leihen haft, aber ich wär echt froh wenn mir jemand helfen könnte!
D.i.V. Marc
Versuche zurzeit via
pDatabase ->ExecuteSQL(csSQL);
einen Text in die DB zu schreiben.
Ich müsste aber einen CStringW anstatt einen einfachen CString übergeben.
Gibt es da eine Möglichkeit?
Hi!
Eine bessere Gruppe ist mir nicht eingefallen!
Ich habe ein DOMDocument, das ich per save als XML stream speichere. Bisher habe ich UTF-8 verwendet.
Nun muss dieser Stream in eine Datenbank gepackt werden (SQL-Spalte, Typ ext). Leider passiert anscheinend tief in den Niederungen des SQL Servers/ OLE DB Treibers für bestimmte Zeichen, z.B. Ä 0xC3, eine Konvertierung über die lokale Codepage. Auf jedenfalls lese ich hinterher aus der Datenbank ein A. UTF-8 ist ja auch kein einfacher Stream, wie Base64 etc. der aus einer reservierten Anzahl von Zeichen besteht, die eben CP unabhängig wäre.
Das XML Dokument als encoding="windows-1252" nützt auch nicht wirklich etwas wenn andere Zeichen außerhalb dieser Tabelle verwendet werden müssen.
Oder muss ich jetzt erst XML-UTF-8 nach Base64 konvertieren und dann schreiben? Bitte nicht...
Ich schreibe gerade eine Anwendung, die Daten aus einer dBase III Datenbank holt. Nun muß ich eine Export-Funktion schreiben, habe aber keine Ahnung wie ich eine dBase III Datei erstellen kann.
Vielleicht kann mich jemand auf die richtige Spur bringen. Für den Import habe ich die CDaoXxx Klassen benutzt. Es wäre also nicht schlecht, wenn ich mit CDaoDatabase die Datei erstellen könnte.
Soar hiho
1. Frage: Wie kann ich (ich arbeite mit ODBC <-> MFC-Klassen) überprüfen, ob eine Tabelle schon existiert
2. Frage: Wenn ich in Excel eine Tabelle auslesen will, muss ich folgendes schreiben "[Tabellenname$], Warum reicht da nicht "Tabellenname", Weis wer woran das liegt?
Falls es Dir darum geht, eine lückenlose Numerierung zu erhalten, solltest Du ein weiteres Feld in der DB anlegen, dass Du dafür verwendest. Eine solche 'laufende Nummer' kannst Du modifizieren und 'reorganisieren', wie Du möchtest, ohne die Datenbankintegrität zu riskieren.
Unix Tom hat recht hast du den pfad von mysql dateinen den Compiler bekannt gegeben wenn der Compiler den weg nicht weis findet er auch die dateien nicht
Klingt fast nach "Programmiere dir doch einen Caster"....
Naja, wenns sich nicht vermeiden laesst, muss ich das wohl tun, ich probier aber erstmal net's Lösung...
Gruss
R
Bei der Normalisierung muss man einen Mittelweg finden. Es gibt > 6 Formen.
IMHO halte ich > 3 zu machen nicht mehr für sehr Sinnvoll. Kommt aber immer auf die Anwendung an.
Stand vor einiger Zeit vor dem selben Problem, mit VC2005. Installier dir die mysql datenbank von mysql.com. Falls du dieses package von dieser Seite hast: http://tangentsoft.net/mysql++/ lösch es!
Mit dem Müll kommst du nicht weit, da hing ich auch lange fest. Wie bereits erwähnt, die standard installation von mysql für developer tuts vollkommen!
Wenn du die mysql datenbank im developer mode installiert hast(so lutsch die datenbank nicht so stark an der performance und ggf. dem akku bei laptops ). Gehst du in dein projekt und machst folgendes:
Projekt erstellen
Auf das Projekt mit Rechtsklick auf Eigenschaften(Properties)
Linker:
Bei General
Debug/(Active): Bei "Additional Libary Directorys" geben wir den Inhalt des /lib/Debug Ordner an, in dem wir MySQL installiert haben.
Release: Bei "Additional Libary Directorys" geben wir den Inhalt des /lib/opt Ordner aus dem Ordner in dem wir MySQL installiert haben.
Bei Input...
.. geben wir als "Additonal Dependcies" die "libmysql.lib" an (ohne Gänsefüschen), sowohl für Debug/Active, als auch für Release.
C/C++:
Bei General
Sowohl für Debug/(Active) und Release wird bei "Addional inlude directorys" der include Ordner angegeben, der mit mysql erstellt wurde.
Folgende Einstellungen müssen noch gemacht werden, diese waren bei mir richtig voreingestellt:
C/C++:
Bei Code Gerneration
"Runtime Library" für Debug auf "Multi-threaded Debug DLL (/MDd)"
"Runtime Library" für Release auf "Multi-threaded DLL (/MD)"
Im Source jetzt noch die <winsock.h> und die <mysql.h> Header includieren.(winsock vor mysql!!!).
Das leere Projekt sollte sich jetzt compilieren lassen.
so hats bei mir geklappt.
OK Hab das ausprobiert und gemerkt das ich ein UpdateData() falsch gesetzt habe. Danke für den Tipp und das ihr so geduldig mit mir wart!!!!!
MFG Desert Storm
Joe_M. schrieb:
Normalerweise sollte jede Datenbank UPPER() und LOWER() verstehen.
Normalerweise schon, aber Access ist da so ne Sache für sich. Hab das bei der Suche in Google gefunden...