Avatar billede s0mmer Nybegynder
05. januar 2009 - 18:49 Der er 9 kommentarer og
1 løsning

Brug af Command objektet.

Hej eksperter.

Softspot har hjulpet mig en del og er sikker på han også kan svare på dette, men jer andre føl jer velkomne til at byde ind.

Gamle kode:
  'SQL = "select Id,Navn from Foreninger Where"
  'SQL = SQL & " (Navn LIKE '%" & Var_Search & "%') order by Navn "
  'Set RS = Conn.Execute(SQL)

Mit forsøg:
  strSQL = "SELECT Id,Navn FROM Foreninger where ([Navn] LIKE ?) ORDER BY Navn"

    set cmd = Server.CreateObject("ADODB.Command")
    set cmd.ActiveConnection = Conn
    cmd.CommandType = adCmdText
    cmd.CommandText = strSQL
    cmd.Parameters.Append cmd.CreateParameter("@Navn", adVarChar, adParamInput, 255, Var_Search)
    Set RS = cmd.Execute()


Dog får jeg flg fejl:
Microsoft OLE DB Provider for SQL Server error '80040e14'

Incorrect syntax near the keyword 'DEFAULT'.

/searchinv.asp, line 27


Og line 27:
Set RS = cmd.Execute()
Avatar billede mortvader Nybegynder
05. januar 2009 - 22:34 #1
hvad er formålet med "[navn] like ?" ... ?

Prøv evt:

strSQL = "SELECT Id,Navn FROM Foreninger ORDER BY Navn"

eller

strSQL = "SELECT Id,Navn FROM Foreninger where ([Navn] LIKE 'jysk%') ORDER BY Navn"

(sidste skulle vise alle som starter med "jysk"..
Avatar billede softspot Forsker
05. januar 2009 - 22:45 #2
Jeg er ikke helt klar over om parameteren kan indeholde wildcards i forbindelse med en LIKE (da jeg vil mene de fortolkes som tekst-indhold i variablen), men hvis du ved hvor dine wildcards skal stå i udtrykket kan du indsætte dem i SQL-sætningen omkring parameteren således:

strSQL = "SELECT Id,Navn FROM Foreninger where (Navn LIKE '%' + ? + '%') ORDER BY Navn"
Avatar billede s0mmer Nybegynder
06. januar 2009 - 09:20 #3
softspot > stadig samme fejl :(
mortvader > der bliver jo brugt like fordi det er en søgefunktion. og ? fordi jeg forsøger at bruge command objektet.
Avatar billede mortvader Nybegynder
06. januar 2009 - 09:35 #4
ah sorry!
Avatar billede s0mmer Nybegynder
06. januar 2009 - 10:57 #5
softspot > jeg tror måske jeg har fundet ud af det.. hvis jeg åbner selve sitet og finder frem til hvor denne side optræder er der ingen fejl. fejlen opstår kun hvis jeg finder den direkte url hen til denne side. kan dette passe? som om den hænger sammen med andre sider for at kunne virke.
Avatar billede softspot Forsker
06. januar 2009 - 11:17 #6
Hmmm... den forklaring var godt nok lidt syret (umiddelbart), men hvis jeg forstår dig korrekt, så kunne fejlen hænge sammen med, at Var_Search er tom (altså ikke indeholder nogen værdi)... eller hvad?

Altaå at Var_Search, ved korrekt brug af siden, bliver initieret af et form-felt eller en querystring-parameter og dermed har en værdi, men hvis du kalder siden direkte, så vil Var_Search være Empty (uinitialiseret), hvilket så giver en lidt gusten fejl fra SQL Server...
Avatar billede s0mmer Nybegynder
07. januar 2009 - 22:11 #7
softspot > Heh ja jeg bruger ikke meget tid på at formulere mig selv nogle gange :) men du fangede mig helt rigtigt. send svar og du får points :) takker mange gange for hjælpen.
Avatar billede softspot Forsker
07. januar 2009 - 23:06 #8
Velbekomme :)
Avatar billede s0mmer Nybegynder
09. januar 2009 - 12:01 #9
softspot > tjek venligst min nyeste tråd :)
Avatar billede softspot Forsker
09. januar 2009 - 12:25 #10
Tak for point :)

P.S.: jeg skal nok få øje på dine tråde, så du behøver ikke bruge gamle tråde til dette formål ;-)
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