Javascript Array SQL
Dirk
- asp.net
Hey....
ich bin gerade dabei dynamische Webseiten zu programieren.
Mein Problem ist momentan, das ich versuche mit Hilfe von Javascript-Arrays Daten aus einen Datenbank Clientseitig zu speichern...um später auch mit diesen Arrays arbeiten zu können.
Mein Idee ist momentan das ich beim Aufrufen der ASP seite eine SQL Abfrage mache und die Wert dann in dem entsprechenden JS-Array speicher.
Nur irgendwie klappt das nicht ganz.
Hier ist der Quellcode:
<%
Public Sub fuellen()
Dim sql_Nr,sql_Name
sql_Nr="Select Kd_ID From Kunde;"
sql_Name="Select Kd_Name From Kunde;"
Call dbzugriff() //Funktion zum Oeffnen der Datenbank
rs.Open sql_Nr,adoCon
Response.Write "var x=0;"
Response.Write "var i=0;"
response.write "var arr= new Array();"
response.write "var arr2= new Array();"
while not rs.eof
response.write "arr[x]=" + rs(0) + ";"
Response.Write "x=x+1;"
rs.MoveNext
wend
Call dbzu() //Funktion zum schließen der Datenbank
Call dbzugriff()
rs.Open sql_Name,adoCon
while not rs.eof
response.write "arr2[i]=" + rs(1) + ";"
Response.Write "i=i+1;"
rs.MoveNext
wend
Call dbzu()
End Sub
%>
<html>
<head>
<title></title>
</head>
<body>
<form>
<select name="selectUrl" onChange="this.form.input2.value=this.form.selectUrl.options.value">
<option value="">Bitte wählen Sie</option>
<%call fuellen()%>
<script language="javascript">
var help=0;
while(help<x)
{
document.write('<option value="'+arr2[help]+'">+arr[help]+</option>');
help=help+1;
}
</script>
</select>
<br><br>
<table>
<tr>
<td>
<input type="text" size="20" name="input2">
</td>
</tr>
</table>
</form>
</body>
</html>
ok ich kenne mich mit arrays nicht so besonders aus, aber nehme mal an das du an dieser stelle versuchst die daten aus der db in den array zu schreiben. allerdings gibt response.write "xxxx" doch text im browser aus un füllt das array nicht. auch response.write "x=x+1" macht hier wenig sinn für mich.
while not rs.eof
response.write "arr[x]=" + rs(0) + ";"
Response.Write "x=x+1;"
rs.MoveNextwend
die daten in den feldern des recordset sprichst du mit rs.fields(x) an und nicht mit rs(x)
naja vielleicht liege ich völlig falsch oder es hilft dir ein wenig :-)
netghost
Hallo Netghost,
ok ich kenne mich mit arrays nicht so besonders aus, aber nehme mal an das du an dieser stelle versuchst die daten aus der db in den array zu schreiben. allerdings gibt response.write "xxxx" doch text im browser aus un füllt das array nicht. auch response.write "x=x+1" macht hier wenig sinn für mich.
Richtig. Es müsste heissen:
Dim x = 0
while not rs.eof
response.write "arr[" & x & "]=" & rs(0) & ";"
x = x + 1
wend
Grüße
Andreas