Avatar billede _anden_ Nybegynder
19. april 2006 - 08:59 Der er 3 kommentarer og
1 løsning

Problemer med SQL streng

Hey Boys and Girls

Jeg er kørt lidt fast, så håber i kan hjælpe mig.

Jeg er ved at lave et script, som skal uddele nogle netværksdrev til den bruger som logger på maskinen. Da ikke alle bruger skal have det samme, så tjekker jeg på brugernavnet via en MySQL DB, for at se hvad brugeren skal have tildelt.

--------------------------- Koden -------------------------------

Dim objNetwork
Dim strDriveLetter, strRemotePath, strUserName, strPDrev

Set objNetwork = CreateObject("WScript.Network")


strUserName = objNetwork.UserName

SQLserveradr    ="localhost"
SQLdatabase    ="LogOnScript"   
SQLUser        ="root"
SQLpassword    =""


Set Conn = CreateObject("ADODB.Connection")
Conn.Open "driver={MySQL ODBC 3.51 Driver};server="& SQLserveradr &";database="& SQLdatabase &";uid="& SQLUser &";pwd="& SQLpassword

    SqlQuery = "SELECT DriveLetterP FROM users WHERE UserName = 'strUserName'"
    set rs_LogOn = conn.Execute(SqlQuery)

    If rs_LogOn.EOF or rs_LogOn.BOF Then
        Resultat = "Der var ingen data"
    Else
        strPDrev = rs_LogOn("DriveLetterP")
            if strPDrev = 1 Then
            strDriveLetter = "X:"
            strRemotePath  = "\\Servernavn\Mappenavn"   
            objNetwork.MapNetworkDrive strDriveLetter,strRemotePath
            Resultat = "Det virkede"
            else
                Resultat = "Det virker ikke"

            end if   
    End if           

conn.Close
Set conn = nothing
Set SQL_Found = nothing
Set SQL_Update = nothing


MsgBox "Resultat:  " &Resultat
-------------------------- Kode Slut ----------------------------

Problemet ligger i SQL forspørgelsen. Det er som om, at den ikke kan læse hvad der står i den tekst streng, som hedder "strUserName". Dette gør at jeg bare for af vide at der ikke var nogen data. Jeg har tjekket at "strUserName" har den værdi som jeg skal bruge, og hvis jeg sætter værdien ind manuelt, så virker scriptet også fint.

Er der nogen der kan sige mig hvad der er galt?
Avatar billede hekier Nybegynder
19. april 2006 - 09:53 #1
Nu er jeg ikke helt så hård til VBscript...

Men det ser ud til at du ikke lægger variablen ind kun en tekst. så koden skal være

Username = "&strUserName
Avatar billede hekier Nybegynder
19. april 2006 - 09:54 #2
eller rettere

UserName = '"& strUderName &"'"
Avatar billede medions Nybegynder
19. april 2006 - 10:00 #3
Det skal se sådan her ud:

SqlQuery = "SELECT DriveLetterP FROM users WHERE UserName = '" & strUserName & "'"

//>Rune
Avatar billede _anden_ Nybegynder
19. april 2006 - 11:21 #4
Jeg takker for begge svar, de virkede.

Da "Hekier" ikke har svaret med et svar, så blivr det dig "Medions"(Rune) der for de point. Håber det er ok.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester