Floh-2001 Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Hallo Leute Wer kann mir beim folgenden Link helfen. Ich sollte aus der Access Datenbank die höchste spielernr. suchen und in textbox 1 einfügen. Aber es klappt nicht. Danke con_ja.ConnectionString = "Provider = Microsoft.jet.oledb.4.0;" & "Data source =" & dsp.InitialDirectory Cmd.Connection = con_ja Cmd.CommandText = "SELECT max(spielernr) FROM jassen" Try con_ja.Open() reader = Cmd.ExecuteReader() Do While reader.Read() TextBox1.Text = (reader("max(Spielernr)")) MsgBox(TextBox1.Text) Loop Catch ex As Exception ' MsgBox(ex.Message) End Try reader.Close() Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Aber es klappt nicht. Geht nicht ist keine ausreichende Fehlerbeschreibung. Noch nie gewesen, wird's auch nie sein. http://www.catb.org/~esr/faqs/smart-questions.html#code Lesen. Jetzt! Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Geht nicht ist keine ausreichende Fehlerbeschreibung. Noch nie gewesen, wird's auch nie sein. How To Ask Questions The Smart Way Lesen. Jetzt! das textbox1 Feld bleibt leer. Er findet die höchste Zahl nicht. Zitieren
MartinSt Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 ja, damit hat "er" Recht, wenns zB in der Tabelle keine Spieler gibt Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 ja, damit hat "er" Recht, wenns zB in der Tabelle keine Spieler gibt es befinden sich 37 Datensätze in der Datenbank (Tabelle). Zitieren
Klotzkopp Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Und die MessageBox im Catch-Block? Ist die auskommentiert, um die Diagnose zu erschweren? Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Und die MessageBox im Catch-Block? Ist die auskommentiert, um die Diagnose zu erschweren? nein , da bringt er mir nur "max(spielernr)" und darum hab Ich sie weg geschaltet. Zitieren
MartinSt Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 es befinden sich 37 Datensätze in der Datenbank (Tabelle). ja und ? das sagt gar nix dazu aus, dass du ein vernünftiges Maximum bekommst da wir hier nur raten können, welche Typen deine Tabellenattribute haben, solltest du versuchen dein problem nachvollziehbar zu beschreiben: Bekommst du das erwartete Ergebnis, wenn du die Anfrage ohne den Code als reines SQL ausführst ? Bekommst du das erwartete Recordset mit korrekten Ergebnissen zurück ? (sieht man im Debugger) Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Aufbau meiner Datenbank (Tabelle) Tabellen name = jassen Felder : spielernr. Nummerisch, Name und Vorname Charakter 30 es befinden sich 37 Datensätze in der Tabelle. Wenn Ich das oben genannte Skript durchlaufen lasse kommt bei mir Textbox1.text = "". Wenn Ich das oben genannte Skript nur mit spielernr (ohne max()) durchlaufen lasse bringt er mir alle 37 spielernr in derTextbox1 Ich Glaube das er mit max(Spielernr) keine Daten aus der Datenbank (Tabelle) lesen kann. Zitieren
Klotzkopp Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 nein , da bringt er mir nur "max(spielernr)" und darum hab Ich sie weg geschaltet.Das heißt, es tritt eine Exception auf? Und du löst das Problem, indem du die Meldung entfernst? So kann man's natürlich auch machen. Dir ist schon klar, dass die Exception dann immer noch auftritt, und du nur nichts mehr davon mitbekommst? Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 In der Exception Meldung steht nur "max(spielernr)". Damit kann Ich nichts Anfangen und damit Ich da nicht immer auf OK klicken muss hab Ich es weggeschaltet. Zitieren
Klotzkopp Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Damit kann Ich nichts Anfangen und damit Ich da nicht immer auf OK klicken muss hab Ich es weggeschaltet.Du kannst dir meinetwegen gern selbst alle Diagnosemöglichkeiten nehmen. Und du kannst auch in deinem Auto die Musik ganz laut aufdrehen, damit du das Klappern nicht mehr hörst. Bedenke aber, dass diese Informationen, die du da absichtlich ausfilterst, für Andere wichtig sein können. Ich vermute mal, dass der Reader mit "max(spielernr)" nichts anfangen kann. Versuch's doch mal mit der int-Variante: SqlDataReader.Item Property (Int32) (System.Data.SqlClient) Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 http://www.catb.org/~esr/faqs/smart-questions.html#code Lesen. Jetzt!Hast du das getan? Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Hast du das getan? was meinst du damit? "Hast du das getan?" Ich kann kein Englisch ! Sorry Zitieren
perdian Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 was meinst du damit? "Hast du das getan?"Ganz einfach: Ob du dir den Text durchgelesen hast. Dann würdest du nämlich gelesen haben, dass du ein wenig anders fragen solltest. Ich kann kein Englisch !Und dann arbeitest du im IT-Bereich? Sorry, aber dann wirst du früher oder später noch öfters auf die Nase fallen. Anyway - der Text, den ich verlinkt habe findet sich auch auf deutsch: http://www.tty1.net/smart-questions_de.html#code Also: Lesen, verstehen, handeln! Zitieren
TDM Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Cmd.CommandText = "SELECT max(spielernr) As MAXNR FROM jassen" TextBox1.Text = (reader("MAXNR")) Solche Aggregatfunktionen wie MAX, MIN, SUM etc. sind am Besten über ein Alias anzusprechen. Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 (bearbeitet) Danke Perdian Habe es durchgelesen und verstehe jetzt was du meinst. Werde in Zukunft darauf achten. Danke Bearbeitet 16. Juni 2009 von Floh-2001 Zitieren
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Hallo TDM Mit deinem Tipp hat es Funktioniert Danke Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.