VBScript) Anfänger sucht Hilfe um Werte aus MSSQL-DB auszulesen und in Textfile zu speichern.

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von Fabi2011.

    VBScript) Anfänger sucht Hilfe um Werte aus MSSQL-DB auszulesen und in Textfile zu speichern.

    Leider kenne ich mich nicht wirklich mit Programmierung aus. Was ich "kann", kenne ich lediglich aus dem Bereich der Foren, Script-Schnipsel und "Learning by doing".
    Mein Script habe ich größtenteils zusammen. Das ganze funktioniert auch mehr oder weniger. Ich mache eine SQL-Connection auf, führe ein SQL-Query durch.
    Das Ergebnis liegt dann ja im Recordset vor. Hieraus kann ich einen Wert einer Spalte im Loop in einer Variable speichern. -Funktioniert auch.
    Sobald ich einen zweiten Wert in einer Variable speichern will, ist eine der Variablen leer. Das ganze aber NUR wenn beide Spalten mit "K_" beginnen. (Leider heißen die Spalten aber ja so... :-/)
    Der Fehler liegt schon im Anfang vom Script- Durch Messageboxen kann man das schön einschränken. Daher hier mal der Anfang wo der Fehler liegt.

    VB.NET-Quellcode

    1. Dim Connection
    2. Dim ConnString
    3. Dim Recordset
    4. Dim SQL
    5. ConnString="DRIVER={SQL Server};SERVER=SERVER;UID=USER;" & _
    6. "PASSWORT;DATABASE=DATENBANK"
    7. SQL = "SELECT * FROM Artikel where Artikel.K_NUMMER Not Like '' and K_KAT = 'true'"
    8. Set Connection = CreateObject("ADODB.Connection")
    9. Set Recordset = CreateObject("ADODB.Recordset")
    10. Connection.Open ConnString
    11. Recordset.Open SQL,Connection
    12. If Recordset.EOF Then
    13. Response.Write("No records returned.")
    14. Else
    15. Do While NOT Recordset.Eof
    16. url = "http://abcdef.ghijkl.com:9999"
    17. Dim nart, alterart
    18. nart = Recordset("K_NUMMER")
    19. msgbox "nart "&nart
    20. artikelnummer = Recordset("K_Artikelnummer")
    21. msgbox "alterart "&artikelnummer
    22. Recordset.MoveNext
    23. Loop
    24. End If


    Wenn ich die definition von "nart" auskommentiere, bekomme ich den Wert der Variable "artikelnummer".
    Wenn ich die definition von "artikelnummer" auskommentiere, bekomme ich den Wert der Variable "nart".
    Aber ich brauche beide Variable, da ich diese später in ein Textfile schreiben muss. :-/
    Versuch mal die Adressierung
    nart = Recordset.Fields("K_NUMMER")
    oder
    nart = Recordset.Fields.Item("K_NUMMER")

    Ansonsten musst du eine vernünftige IDS wie VBSedit verwenden.

    Alternativ kannst du den Code zum Debuggen auch ins Excel-VBA laden.
    Bis auf wenige Modifikationen (du musst z.B. deinen ganzen VBS-Main-Code in eine eigene Sub packen) läuft VBS-Code unter VBA recht kompatibel.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --