Abfrage funktioniert teilweise nicht

  • VB.NET

Es gibt 14 Antworten in diesem Thema. Der letzte Beitrag () ist von VanDerLars.

    Abfrage funktioniert teilweise nicht

    Ahoi,

    ich frage eine MySQL-Tabelle auf meinem Webserver mit Dodos MySQL-Lib ab und stoße auf ein Paradoxon:

    folgende Abfrage klappt nicht:

    Quellcode

    1. "SELECT * FROM `VMS_Haufige_Fragen` WHERE `Kategorie`='" & Kat_Text & "' AND `Archiv`=''



    Er liefert mir hier nur zwei Werte aus der Tabelle, obwohl dort 26 übereinstimmende Werte liegen.

    Seltsamerweise findet er aber bei folgendem Aufruf 26 Einträge:

    Quellcode

    1. "SELECT DISTINCT `Kategorie` FROM `VMS_Haufige_Fragen` WHERE `Archiv`=''"



    Was mache ich falsch?!

    Ich SQL-Anfänger!

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VanDerLars“ () aus folgendem Grund: Falsche MySQL-Tags

    Ehem ganz doofe Frage...
    Kategorie ist aber nicht zufällig ne Zahl? Wär so mein erster Tip...
    Weil Kategorie = 3 ist was anderes als Kategorie = '3'
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Nee, Kategorie ist ein Text!

    auch, wenn ich in der abfrage Kategorie weg lasse, also SELECT * FROM 'VMS_Haufige_Fragen', kommen nur die beiden Einträge
    Ist irgendwie schwer das zu erkennen, da man die ausgaben der Abfragen nicht sieht.
    Die SQL Abfrage an sich die da zusammengesetzt wird, hat erstmal keinen dicken Fehler drin.

    Seltsamerweise findet er aber bei folgendem Aufruf 26 Einträge:

    SQL-Abfrage

    1. SELECT DISTINCT Kategorie FROM VMS_Haufige_Fragen WHERE Archiv=''


    <-- Also das heißt du hast 26 verschiedene Kategorien... soweit sogut... Sagt aber erstmal nix aus ;)

    Er liefert mir hier nur zwei Werte aus der Tabelle, obwohl dort 26 übereinstimmende Werte liegen.
    Das heißt findet von allen Daten aus der Tabelle nunmal nur zwei, die die gesuchte Kategorie haben.

    Die zwei Abfragen haben ja nichts miteinander zutun... Bei DISTINCT findet er ja nur jede Kategorie EINMAL... Also kannst du die RecordCounts nicht miteinander vergleichen.
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    Nee, pass auf, hab das leider falsch beschrieben: Ich habe 26 Einträge in der Tabelle, jedem Eintrag habe ich eine Kategorie in der Spalte Kategorie zugewiesen.
    In der ersten Abfrage "SELECT DISTINCT 'Kathegorie' FROM 'VMS_haufige_Fragen'" frage ich die Kategorien ab, die Existieren - das sind 6 Stück. Dann durchlaufe ich die gleiche Tabelle und wähle die jeweiligen Einträge mit "SELECT * FROM 'VMS_haufige_Fragen WHERE 'Kathegorie'=[Kathegorietext aus erster Abfrage]".

    Abfrage 1 liefert 6 Resultate, lasse ich das DISTINCT weg, liefert er 26 Einträge
    Abfrage 2 leifert nur bei einer Kategorie 2 Einträge
    Wenn ich 'SELECT * FROM 'VMS_haufige_Fragen'" abfrage kommen auch statt den 26 Einträgen nur 2 Einträge...
    [EDIT] Ah kapiert.
    Ich weiß nicht wie DODOs Lib arbeitet... Kann es sein dass sie die Einträge trimt bei der Ausgabe?
    Und du die Kategorien mit nem Leerzeichen versehen hast?
    Dadurch dass Abfrage 1 Kategorien getrimmt ausgibt, findest du sie in Abfrage 2 nicht mehr wieder, da er das getrimmte Ergebnis von Abfrage 1 mit dem ungetrimmten Wert aus der Tabelle vergleicht?

    Nur eine Idee.

    VB.NET-Quellcode

    1. "SELECT * FROM VMS_Haufige_Fragen WHERE Trim(Kategorie)='" & Strings.Trim(Kat_Text) & "' AND Archiv=''"
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MemoAnMichSelbst“ ()

    Also wenn du die Kategorien aus der ersten Abfrage (SELECT DISTINCT 'Kathegorie' FROM 'VMS_haufige_Fragen') in die zweite Abfrage (SELECT * FROM 'VMS_haufige_Fragen WHERE 'Kathegorie'=[Kathegorietext aus erster Abfrage]) findest du sowieso alle Einträge. Ist also mMn sinnfrei.

    Es sei denn ich hab dich da falsch verstanden. (Oder du hast es falsch erklärt)
    Und wie gesagt:

    Wenn ich 'SELECT * FROM 'VMS_haufige_Fragen'" abfrage kommen auch statt den 26 Einträgen nur 2 Einträge...


    Das kanns ansich nicht geben. Wenn du ohne Where was abfragst kommen alle Einträge.
    Irgendwo hast du da nen Hund drin.

    lg
    ScheduleLib 0.0.1.0
    Kleine Lib zum Anlaufen von Code zu bestimmten Zeiten
    Ich tippe bei sowas immer auf irgendwelche Funktionen in der Lib...
    Mir riecht das sehr nach Trim ^^
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    Es war einmal ein kleiner Bär... der wollte eine Geschichte hörn... Da erzählte ihm seine Mutti:
    ... Nun solltest es selber wissen. :'D
    In PhpMyAdmin funktionieren alle Abfragen!!!

    - die 'SELECT KathegorieFROM 'VMS_haufige_Fragen' bringt alle 26 Einträge
    - die 'SELECT DISTINCT KathegorieFROM 'VMS_haufige_Fragen' bringt alle 6 Einträge, also die Anzahl der Kategorien
    - die 'SELECT * FROM 'VMS_haufige_Fragen' bringt nur 2 in deine Lib, Dodo und 26 in phpMyAdmin!

    Kann das sein?!

    :-/
    Hier ist der SQL-Aufruf, falls dir das was bringt, du benutzt doch sicher auch phpmyadmin?!
    Spoiler anzeigen
    -- phpMyAdmin SQL Dump
    -- version 3.5.4
    -- phpmyadmin.net
    --
    -- Host: localhost
    -- Erstellungszeit: 23. Jan 2013 um 17:44
    -- Server Version: 5.5.28-1~dotdeb.0
    -- PHP-Version: 5.2.17-0.dotdeb.0

    SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
    SET time_zone = "+00:00";

    --
    -- Datenbank: usr_web1182_2
    --

    -- --------------------------------------------------------

    --
    -- Tabellenstruktur für Tabelle VMS_Haufige_Fragen
    --

    CREATE TABLE IF NOT EXISTS VMS_Haufige_Fragen (
    ID int(11) NOT NULL,
    Datum text COLLATE latin1_german1_ci NOT NULL,
    Autor text COLLATE latin1_german1_ci NOT NULL,
    Kategorie text COLLATE latin1_german1_ci NOT NULL,
    Überschrift text COLLATE latin1_german1_ci NOT NULL,
    Text text COLLATE latin1_german1_ci NOT NULL,
    Aufrufe int(11) NOT NULL,
    Anz_hilfreich int(11) NOT NULL,
    Anz_nicht_hilfreich int(11) NOT NULL,
    Archiv text COLLATE latin1_german1_ci NOT NULL,
    UNIQUE KEY ID (ID)
    ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_german1_ci;

    --
    -- Daten für Tabelle VMS_Haufige_Fragen
    --

    INSERT INTO VMS_Haufige_Fragen (ID, Datum, Autor, Kategorie, Überschrift, Text, Aufrufe, Anz_hilfreich, Anz_nicht_hilfreich, Archiv) VALUES
    (1, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Wo kann ich meinen Antrag abgeben?\n', 'Sie können den Antrag entweder direkt an uns senden://<i>ZVMS//Abteilung Schülerbeförderung//Am Rathaus 2//09111 chemnitz</i>//Oder sie geben den Antrag einfach in Ihrer Schule ab, diese wird ihn dann an uns weiterleiten.\n', 0, 0, 0, ''),
    (5, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Wie lange dauert die Bearbeitungszeit?\n', 'Im Normalfall unter einer Woche. Binnen 3 Wochen werden wir Ihnen spätestens den Genehmigungs- oder Ablehnungsbescheid zugestellt haben.////Anschließend müssen Sie den festgesetzten Eigenanteil zahlen. Haben Sie dies gemacht, so werden wir umgehend die Fahrkarte bestellen, welche Ihnen zugestellt wird oder durch die Schule ausgeteilt wird.\n', 0, 0, 0, ''),
    (4, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Ich möchte meinen Antrag ändern? (nach Umzug, Schulwechsel, etc.)\n', 'Sie können Ihren Antrag entweder formlos über eine E-Mail oder ein Schreiben an uns ändern. Sie können aber auch die vorgesehenen Formulare unter vms.de in der Rubrik "Schülerbeförderung" herunterladen.////Sie können außerdem unser INFOPORTAL-Pro verwenden. Hier können Sie Ihre ganz persönlichen Daten einsehen und diese auch ändern.\n', 0, 0, 0, ''),
    (2, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Welche Beförderungsart soll ich ankreuzen?\n', 'Grundsätzlich haben Schüler den ÖPNV zu nutzen. Wollen Sie Ihr Kind selbst fahren, so Beantragen Sie die Beförderung Privat-PKW.////Nur wenn Sie keinen zumutbaren ÖPNV besitzen oder Ihrem Kind aufgrund gesundheitlichen Einschränkungen der ÖPNV nicht zuzumuten ist, dann können Sie den FSV beantragen. ////Lassen Sie sich aber am Besten vorher von uns beraten, da Sie nur einen Anspruch auf den FSV besitzen, wenn Ihr Kind die nächstgelegene Schule seiner Schulart besucht.\n', 0, 0, 0, ''),
    (3, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Ich möchte meinen Antrag zurück nehmen.\n', 'Das können Sie immer zum jeweiligen Monats-Ende. Hier reicht eine E-Mail oder ein anschreiben an uns.////Beachten Sie bitte, dass Sie Ihren Antrag für das neue Schuljahr bis zu, 31.05.2012 zurückgenommen haben müssen.\n', 0, 0, 0, ''),
    (0, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Wo bekomme ich einen Antrag her?\n', 'Sie können die Anträge entweder auf unserer Internetseite unter vms.de in der Rubrik "Schülerbeförderung" herunterladen.////Oder Sie können in sich Ihrer Schule aushändigen lassen.\n', 0, 0, 0, ''),
    (10, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Wo und wann bekomme ich meine Fahrscheine?\n', 'Ihre Fahrkarte erhalten Sie entweder in der Schule oder Post zugestellt. ////Sollte in Ihrem Bescheid geregelt sein, dass Sie die Fahrkarte selbst zu erwerben haben und diese dann bei uns abrechnen, dann erwerben Sie bitte den günstigsten Fahrschein selbst, heben diesen auf und senden ihn halbjährlich an uns.\n', 0, 0, 0, ''),
    (11, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Infos zu den Eigenanteilen.\n', 'Grundsätzlich haben alle Antragsteller einen Eigenanteil zu zahlen. Dieser berträgt einheitlich für Schüler der Klassen 1-4 im Schuljahr 110 EUR und für alle Schüler ab der Klasse 5 im Schuljahr 145 EUR.////Jenach dem in welchem Landkreis Sie wohnen, übernimmt dieser vielleicht einen Teil dieses Eigenanteils für Sie.////Dieser Eigenanteil ist der geringere Teil davon, was Ihr Kind kostet. Die Schülerverbundkarte kostet einheitlich 440 EUR im Schuljahr. Für Schüler der Klassen 1 - 4 haben die Antragsteller also einen Anteil von 25 %, für alle anderen Schüler 33 % zu zahlen. Den Rest zahlt der ZVMS und der jeweilige Landkreis.////Schüler, die im Freigestellten Schülerverkehr fahren kosten durchschnittlich 2.600 EUR im Schuljahr. Hier übernimmt der ZVMS sogar 94 % der Kosten.\n', 0, 0, 0, ''),
    (12, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Erlass des Eigenanteils und Bildungs- und Teilhabe\n', 'Den einzigen Erlassgrund, den die Schülerbeförderungssatzung vorsieht, ist der Aerlass für jedes 3. und weitere Kind einer Familie. Das bedeutet, dass Familien unabhängig von der anzahl der eigenen Kinder nur für drei Kinder den Eigenanteil zu zahlen haben.////Sollten Sie aus wirtschaftlichen Gründen, den Eigenanteil nicht zahlen können so können sie, falls Sie soziale Unterstützung erhalten (ALGII, Sozialhilfe, etc.) die Kosten beim Bildungs- und Teilhabepaket geltend machen. Infos erhalten Sie dazu in Ihrem Jobcenter oder auf dem Sozialamt.////Empfangen Sie keine Sozialleistungen und können den Eigenanteil dennoch nicht aufbringen, so können Sie gern einen antrag auf Ratenzahlung stellen.\n', 0, 0, 0, ''),
    (13, '01.01.2013', 'Herr Lehmann', 'Antrag und Verfahren', 'Antrag auf Ratenzahlung\n', 'Sind sie nicht in der Lage den Eigenanteil in einem Brtrag zu zahlen, so können Sie in der Abteliung Finanzen gern einen Antrag auf Ratenzahlung stellen. Die Formulare können Sie vms.de in der Rubrik "Schülerbeförderung" herunterladen.\n', 0, 0, 0, ''),
    (14, '01.01.2013', 'Herr Lehmann', 'ÖPNV - Zur Schule mit dem Bus', 'Mein Kind hat seinen Ausweis verloren.\n', 'Bitte melden Sie den Verlust umgehend bei Ihrem fahrenden Unternehmen. Nur die ÖPNV-Unternehmen können auch neue Ausweise ausstellen.////<u>Erzgebirgskreis</u>//www.rve.de////<u>Mittelsachsen</u>//www.regiobus.com////<u>Zwickau</u>//www.rvw.de//www.svz.de\n', 0, 0, 0, ''),
    (15, '01.01.2013', 'Herr Lehmann', 'ÖPNV - Zur Schule mit dem Bus', 'Wo ist die Schülerverbundkarte gültig.\n', 'Die Schülerverbundkarte ist im gesamten Gebiet des Verkehrsverbunds Mittelsachsen in allen Bus- und Bahnangeboten und an allen Tagen (außer Sommerferien) gültig.////Also von Döbeln bis Oberwiesenthal, von Werdau bis Freiberg.\n', 0, 0, 0, ''),
    (16, '01.01.2013', 'Herr Lehmann', 'ÖPNV - Zur Schule mit dem Bus', 'Der Fahrplan passt nicht, wohin kann ich mich wenden?\n', 'Natürlich versuchen wir im Rahmen unserer Möglichkeiten alles Möglich zu machen. Gerade im ÖPNV sind die Handlungsspielräume aber eher eng.////Sie können Ihre Anfrage dennoch gern an uns oder an Ihr kommunales Beförderungsunternehmen richten. Wir prüfen dann die Machbarkeit und geben Ihnen eine qualifizierte Antwort.\n', 0, 0, 0, ''),
    (17, '01.01.2013', 'Herr Lehmann', 'ÖPNV - Zur Schule mit dem Bus', 'Wo bekomme ich eine Fahrplanauskunft\n', 'Sie können entweder die Fahrplanauskunft hier im INFOPORTAL verwenden oder unseren Serve unter der Telefonnummer <b>0371 4000 888</b> anrufen.\n', 0, 0, 0, ''),
    (18, '01.01.2013', 'Herr Lehmann', 'FSV - Zur Schule mit dem Taxi', 'Was ist der Freigestellte Schülerverkehr (FSV)?\n', 'Der Freigestellte Schülerverkehr ist der Ersatz des ÖPNV für Schüler, die entweder keinen zumutbaren ÖPNV haben oder aus verschiedenen Gründen diesen nicht nutzen können.////Der FSV ist nicht Ihr privates Taxi, sondern ein öffentliches Verkehrsmittel. Persönliche Anforderungen können nur bedingt um im Rahmen der Kulanz des ZVMS und des beauftragen Unternehmens berücksichtigt werden. ////Auch können Sie sich leider das Unternehmen nicht aussuchen. Die FSV-Touren sind durch den ZVMS europaweit auszuschreiben und werden nach eignung des Unternehmens und der Wirtschaftlichkeit des Angebotes vergeben. Der ZVMS kann hier keinen keinen Einfluss auf die Vergabe nehmen.\n', 0, 0, 0, ''),
    (19, '01.01.2013', 'Herr Lehmann', 'FSV - Zur Schule mit dem Taxi', 'Wo erfahre ich die Abfahrtszeiten?\n', 'Die Abfahrtszeiten und -Orte erfahren Sie natürlichin erster Linie von Ihrem zugewisenen Unternehmen.////Große Touren werden jedoch auch hier im INFOPORTAL veröffentlicht.\n', 0, 0, 0, ''),
    (20, '01.01.2013', 'Herr Lehmann', 'FSV - Zur Schule mit dem Taxi', 'Was ist mit dem Hortbesuch oder GTA?', 'Der ZVMS zahlt für die Beförderung zum und nach dem stundenplanmäßigem Unterricht. Der Besuch eines Hortes oder eines Ganztagesangebot (GTA) ist ein freiwillige Entscheidung und zählt nicht als Unterricht. Ein Anspruch auf eine Beförderung nach dem Hort als nicht.////Auch besteht kein Anspruch darauf, nach der Schule in eine Horteinrichtung gefahren zu werden. Sollte diese Einrichtung jedoch auf dem Weg liegen oder ergeben sich keine Mehrkosten für den ZVMS, so genehmigen wir dies meist im Rahmen unseres Ermessen.////Bitte setzen Sie sich dazu mit uns in Verbindung.\n', 0, 0, 0, ''),
    (21, '01.01.2013', 'Herr Lehmann', 'Wichtige Infos', 'Meine nächstgelegene Schule?\n', 'Die nächstgelegene Schule, ist die Schule, die mit dem geringsten Beförderungsaufwand zu erreichen ist. Dabei wird vor allem auf die Erreichbarkeit mit dem Bus abgestellt. Ist eine schule in der Distanz nähergelegen, als eine andere Schule, besteht aber kein ÖPBV-Angebot zu dieser Schule, so ist die Schule die nächstgelegene, die mit dem ÖPNV zumutbar erreicht werden kann.////Für Grundschüler ist immer die Grundschule die nächstgelegene, in dessen Schulbezirk die antragsteller wohnen.////In besonderen Fällen muss eine einzelfallbezogene Prüfung stattfinden. Das ist vor allem bei Integrationen der Fall.\n', 0, 0, 0, ''),
    (22, '01.01.2013', 'Herr Lehmann', 'Wichtige Infos', 'Zulässige Wartezeiten?\n', 'die zulässige Wartezeit beträgt bei//<u>Grundschülern</u>//45 Minuten vor und nach dem Unterricht//<u>Schüler Klasse 5 bis 10</u>//am Schultag 90 Minuten//<u>Schülern ab Klasse 11</u>//am Schultag 120 Minuten\n', 0, 0, 0, ''),
    (23, '01.01.2013', 'Herr Lehmann', 'Wichtige Infos', 'Mindestentfernung\n', 'Die Mindestentfernung ist die kürzeste öffentliche Wegstrecke zwischen der Wohnung und der besuchten Schule.////Sie beträgt für Grundschüler 2,0 km und für Schüler ab Klasse 5 3,0 km.////Schüler die unterhalb dieser entfernung zur Schule wohnen, haben leider keinen Anspruch auf die Schülerbeförderung.\n', 0, 0, 0, ''),
    (24, '01.01.2013', 'Herr Lehmann', 'Weitere Infos zum INFOPORTAL', 'Datenschutz?\n', 'Datenschutz wird selbstverständlich bei uns groß greschrieben!////Wir sind uns bewusst, dass sie uns vertrauliche und sensible Daten zur Verfügung stellen, und wir gehen damit mit größt möglicher Sorgfalt um.////Alle Daten werden nur verschlüsselt übertragen, die Datenbanken liegen hinter einer Firewall und die sicherheitsanforderungen werden stetig aktualisiert.\n', 0, 0, 0, ''),
    (25, '01.01.2013', 'Herr Lehmann', 'Weitere Infos zum INFOPORTAL', 'Wer pflegt die Inhalte des INFOPORTALS?\n', 'Das INFOPORTAL wird vorrangig von den Mitarbeitern der Abteilung Schülerbeförderung versorgt. Aber auch ausgewählte Unternehmen haben Zugang und können Meldungen versenden. Damit haben Sie einen direkten Draht zu uns und Ihrem Unternehmen.\n', 0, 0, 0, ''),
    (26, '01.01.2013', 'Herr Lehmann', 'Weitere Infos zum INFOPORTAL', 'Welche Versionen gibt es?\n', 'Das INFOPORTAL ist in drei Module unterteilt:////<u>Modul 1 - Handyversion</u>//Viele Schüler haben bereits eigene Smartphones. Für diese haben wir eine eigens angepasste Version des INFOPORTALS veröffentlicht.////<u>Modul 2 - WebApp</u>//Sie wollen nur schnell am PC die Meldungen durchforsten oder eine Frage klären? Dann können Sie dies in der WebApp des INFOPORTALS für Ihre PC und Mac machen.////<u>Modul 3 - Pro-Version>/u>//Die Pro-Version bietet Ihnen als festes Desktop-Programm viele Funktionen mehr als die WebApp. Sie können Ihre persönlichen Daten einsehen und editieren, Fragen an uns stellen und Änderungen mitteilen. Alles doppelt und dreifach gesichert und einfach zu bedienen.\n', 0, 0, 0, ''),
    (27, '01.01.2013', 'Herr Lehmann', 'a', 'Wo kann ich Ideen und Kritik äußern?\n', 'Immer her damit!////Schreiben Sie uns an post@vms.de\n', 0, 0, 0, ''),
    (28, '01.01.2013', 'Herr Lehmann', 'a', 'Feststetzung der abrechenbaren Kosten', 'asdasdasd////', 0, 2, 0, ''),
    (29, '01.01.2013', 'Herr Lehmann', 'a', 'Abrechnungs-Modalitäten', '', 0, 1, 3, '');