Dirk: Javascript Array SQL

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>

  1. 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.MoveNext

    wend

    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

    1. 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