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()
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!
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.
MartinSt Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 ja, damit hat "er" Recht, wenns zB in der Tabelle keine Spieler gibt
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).
Klotzkopp Geschrieben 16. Juni 2009 Geschrieben 16. Juni 2009 Und die MessageBox im Catch-Block? Ist die auskommentiert, um die Diagnose zu erschweren?
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.
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)
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.
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?
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.
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)
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?
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
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!
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.
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
Floh-2001 Geschrieben 16. Juni 2009 Autor Geschrieben 16. Juni 2009 Hallo TDM Mit deinem Tipp hat es Funktioniert Danke
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden