Hallo zusammen,
ich bin am verzweifeln und komme einfach nicht auf die Lösung meines Problems.
Ich will eine SQL Abfrage machen, ohne meine Seite neu zu laden. Dies mache ich per Javascript über einen XMLHttpRequest und rufe dabei meine aspx auf. Diese tätigt die Abfrage auf der Datenbank. Per ExecuteReader lese ich aus und hängt alle Zelleninhalte meines SQL-Outputs zu einem großen String zusammen, den ich dann als String zurück senden will. Falls die Frage auftaucht wie viele Zeichen ich denn übergeben will, in der TestSQLAbfrage Ca. 9000.
Wenn ich mir einen TEST-String in dem per XMLHTTPRequest aufgerufenen aspx-Script generiere (aneinanderhängen von Zeichen z.B. "b"), klappt alles einwandfrei.
Also getestet habe ich eine Zeichenkette aus "b" mit 100.000 Zeichen. Diese wurden komplett zurück geliefert und ich konnte diese im Javascript per responseText wieder auslesen. Natürlich habe ich diese Zeichenkette auf Vollständigkeit geprüft. 100%.
Versuche ich jedoch meinen String aus der SQL-Abfrage zu senden, so kommt nur ein leerer String an. Rufe ich die aspx separat im Browser auf, so sehe ich meine komplette Abfrage die per Response.Write richtig ausgegeben wird.
Meine erste Vermutung war, dass ein unbekanntes Zeichen die Übergabe abbricht. Ich bekomme jedoch keine Fehlermeldung. XMLHTTPRequest State=4 und Status 200.
Jetzt habe ich meinen StringBuilder so weit reduziert, dass nur die erste Zelle in den String geschrieben wird. Um diesem unbekannten Zeichen auf die schliche zu kommen. Fehlanzeige. Die erste Zelle(Inhalt="20") wird schon nicht übergeben. Response.Write schreibt zwar den Inhalt("20") des Strings, übergibt jedoch nicht zurück an meine Seite1.
Zelleninhalt stammt aus der Datenbank und ist dort "System.Int32", wird von mir wie unten im Code zu sehen per GetValue(i).ToString() aus dem Reader gelesen und in String konvertiert.
Mein ContentType steht momentan auf "Text/html", habe aber bereits Windows-1250, UTF-8 ausprobiert, ohne Erfolg.
Meine Vermutung: die "GetValue.ToString"- Formatierung.
ich bin am verzweifeln und komme einfach nicht auf die Lösung meines Problems.
Ich will eine SQL Abfrage machen, ohne meine Seite neu zu laden. Dies mache ich per Javascript über einen XMLHttpRequest und rufe dabei meine aspx auf. Diese tätigt die Abfrage auf der Datenbank. Per ExecuteReader lese ich aus und hängt alle Zelleninhalte meines SQL-Outputs zu einem großen String zusammen, den ich dann als String zurück senden will. Falls die Frage auftaucht wie viele Zeichen ich denn übergeben will, in der TestSQLAbfrage Ca. 9000.
Wenn ich mir einen TEST-String in dem per XMLHTTPRequest aufgerufenen aspx-Script generiere (aneinanderhängen von Zeichen z.B. "b"), klappt alles einwandfrei.
Also getestet habe ich eine Zeichenkette aus "b" mit 100.000 Zeichen. Diese wurden komplett zurück geliefert und ich konnte diese im Javascript per responseText wieder auslesen. Natürlich habe ich diese Zeichenkette auf Vollständigkeit geprüft. 100%.
Versuche ich jedoch meinen String aus der SQL-Abfrage zu senden, so kommt nur ein leerer String an. Rufe ich die aspx separat im Browser auf, so sehe ich meine komplette Abfrage die per Response.Write richtig ausgegeben wird.
Meine erste Vermutung war, dass ein unbekanntes Zeichen die Übergabe abbricht. Ich bekomme jedoch keine Fehlermeldung. XMLHTTPRequest State=4 und Status 200.
Jetzt habe ich meinen StringBuilder so weit reduziert, dass nur die erste Zelle in den String geschrieben wird. Um diesem unbekannten Zeichen auf die schliche zu kommen. Fehlanzeige. Die erste Zelle(Inhalt="20") wird schon nicht übergeben. Response.Write schreibt zwar den Inhalt("20") des Strings, übergibt jedoch nicht zurück an meine Seite1.
Zelleninhalt stammt aus der Datenbank und ist dort "System.Int32", wird von mir wie unten im Code zu sehen per GetValue(i).ToString() aus dem Reader gelesen und in String konvertiert.
Mein ContentType steht momentan auf "Text/html", habe aber bereits Windows-1250, UTF-8 ausprobiert, ohne Erfolg.
Meine Vermutung: die "GetValue.ToString"- Formatierung.