Problem mit ASP / VB



  • tagchen.
    habe eine kleine Seite erstellt, die mir Detaildaten der einzelnen Mitarbeiter anzeigt. habe einen DatenbankConnect wie folgt aufgebaut:

    Set dbConn = Server.CreateObject("adodb.connection")
    dbConn.Open ""&db_base&"", ""&db_user&"", ""&db_pass&""
    Set Cmd = Server.CreateObject("ADODB.Command")
    Set Cmd.ActiveConnection = dbConn
    

    Das funktioniert auch erstmal soweit.
    Danach "erstelle" ich mir eine SQL Abfrage und Recordset:

    sql="SELECT * FROM mediaberater WHERE mb_id="&mb_id
    set rsBerater = server.createobject("adodb.recordset")
    rsBerater.open sql,dbconn,0,1
    

    Danach gebe ich die Daten

    <%=rsBerater(SPALTENNAME)%>
    

    aus.
    Das Problem ist folgendes:
    1. es werden nicht alle Daten ausgegeben, obwohl in der DB für diese Felder Werte drin stehen. Auch der Spaltenname ist korrekt geschrieben.
    Wenn ich allerdings zum Beginn der Seite auf ein Feld am Ende zugreifen möchte, wird der Wert ausgegeben, an beiden Stellen(am anfang und ende??). Sehr komisch.
    2. Einige Werte sind ID / Fremdschlüssel, die ich natürlich auslesen lasse und dafür nen neuen recordset erstelle. seitdem ich das mache, braucht der browser ewigkeiten zum laden der seite. bzw. der läd die nicht weiter, nach 5 min breche ich ab.

    ich habe echt keinen plan mehr was ich machen soll oder woran es liegen könnte.
    ich hoffe ihr könnt mir irgendwie helfen oder tipps geben.
    cu und danke schonmal!
    thx a lot
    bart



  • tagchen...
    habe mein problem selber gelöst. hat zwar etwas gedauert, aber ich bin auf die lösung gekommen. 🙄
    wen es interessiert hier die lösung:
    Das war mein bisheriger Code:

    sql="blabla"
    set rs = Server.CreateObject("ADODB.Recordset")
    rs.open sql,dbConn,[b]0[/b],1
    

    So da aber in meiner Auflistung der Daten die Reihenfolge nicht mit der in der Datenbank übereinstimmt, darf beim rs.open nicht die 0 stehen, sondern:

    set rs = Server.CreateObject("ADODB.Recordset")
    rs.open sql,dbConn,[b]1[/b],1
    

    0 => adOpenForwardOnly (Der Cursor kann nur vorwärts bewegt werden)
    1 => adOpenKeyset (ähnlich dem dynamischen Cursor / adopendynamic, nur das gelöschte Datensätze nicht angezeigt werden)
    ohmann, da hätte ich auch schonmal früher draufkommen können.
    naja wat solls, jetzt funzt es wenigstens wieder und ich mach erstmal mittag. 😃
    cu bart



  • Bart Simpson schrieb:

    tagchen...
    habe mein problem selber gelöst.

    Nein, dein Problem ist keinesfalls gelöst, wenn du bei deiner Vorgehensweise bleibst. Schau mal hier.



  • tagchen...
    ähm ja. habe mir die seite angeschaut und muss dir recht geben.
    werde mal meine scripte in der art und weise überarbeiten.
    ich danke dir.
    THX a lot
    bart


Anmelden zum Antworten