SQL Data Reader

03/01/2015 17:32 stotterer09#1
Hi ich habe ein Problem beim benutzen meines SQL data readers:
Das ist mein code
count ist 3
ich würde gern 3 Datensätze rausbekommen aber nach dem ersten stürzt er mir ab(der erste wird aber noch richtig gelesen)
Code:
            dwID = new object[count];

            cmd.CommandText = "SELECT dwID FROM TQCONDITIONCHART WHERE dwQuestID =" + dwQuestID.ToString() + ";";
            reader = cmd.ExecuteReader();
            while (reader.Read())
            {
                for (int j = 0; j < count; j++)
                {
                    dwID[j] = reader.GetValue(j);

                }
            }
            reader.Close();
Ich habe keine Ahnung was ich falsch mache bitte um Hilfe^^
diese 3 datensätze sollten rauskommen:
[Only registered and activated users can see links. Click Here To Register...]

mfg



edit: anscheinend kann man mit dem reader nur in einem Datensatz lesen
aber wie kann ich dann den 2. Datensatz auslesen?

mfg


Edit: kann zu nächstes mal lese ich die dokumentation genauer
Ich bin ein Idiot

Lösung: man springt in den nächsten datensatz mit reader.read
03/01/2015 19:59 #[Alex]Sascha#2
Anscheinend hast dein Problem bereits gelöst.

Dennoch würde ich dir vorschlagen prepared statements zu nutzen d.h etwa so:

Code:
            dwID = new object[count];

            cmd = new MySqlCommand("SELECT dwID FROM TQCONDITIONCHART WHERE dwQuestID =@dwid;", connection);
            cmd.Parameters.AddWithValue("@dwid", dwQuestID.ToString());
            cmd.Prepare();
            reader = cmd.ExecuteReader();
            //alles andere
03/02/2015 06:37 Xio.#3
Bitte bitte bitte mach es wie Alex.

So wie du das machst hält das auf dauer nicht. Ich spreche aus erfahung :P
03/02/2015 17:12 stotterer09#4
Ok danke werde ich bei meinem nächsten projekt dann wohl so machen :)