Avatar billede heira Nybegynder
15. november 2000 - 23:19 Der er 8 kommentarer og
2 løsninger

SQL string der er rigtig LANG SET X WHERE LANGGG

Hej, alle sammen!
Jeg har et lille problem med min SQL-string i mit script.  Jeg bruger Access 2000 DB og
ASP.  Jeg har problem med WHERE.

Her er problemet :SQL = \"UPDATE leigutaki SET virk =\" & strAfskra & \" WHERE simi=\" + Request.Form(\"simi\")& \"%\' or gsm=\'%\" & Request.Form(\"simi\") and netfang = +Request.Form(\"netfang\")
   
    set rs =conn.Execute(Sql)   
   
end if
Conn.close
Set Conn=nothing
\'scriptet giver mig fejlen :
Microsoft VBScript runtime error \'800a000d\'

Type mismatch: \'[string: \"UPDATE leigutaki SET\"]\'

/leiguval/adddeletetaki.asp, line 28

den virker hvis den ikke er SÅ LANG, men jeg vil gerne have at den er LANG, hvad gør jeg galt her ? ? ? ? ? ?
Avatar billede tdaugaard Nybegynder
15. november 2000 - 23:29 #1
Okay ... jeg kan da mindst se 2 fejl ..

SQL = \"UPDATE leigutaki SET virk=\" & strAfskra & \" WHERE simi=\'\" & Request.Form(\"simi\") & \"\' OR gsm=\'\" & Request.Form(\"simi\") & \"\' AND netfang=\" & Request.Form(\"netfang\")

er felterne \"virk\" og \"netfang\" tal værdier ?
Avatar billede tdaugaard Nybegynder
15. november 2000 - 23:30 #2
SQL = \"UPDATE leigutaki SET virk=\" & strAfskra & \" WHERE simi=\'\" & Request.Form(\"simi\") & \"\' OR gsm=\'\" & Request.Form(\"gsm\") & \"\' AND netfang=\" & Request.Form(\"netfang\")

der var MANGE fejl ..
Avatar billede heira Nybegynder
16. november 2000 - 01:29 #3
tdaugaard, tak for hurtigt svar!

Tabellen heder jo leigutaki
virk er navnet på et felt i tabellen og
strAfskra er \"o\" (false) fordi det er et ja/nei felt.  Men WHERE OR og AND og alle de \"\'\" hele vejen, er lidt tricky !

Hvor er de fejl ?
Avatar billede tdaugaard Nybegynder
16. november 2000 - 01:33 #4
SQL = \"UPDATE leigutaki SET virk=\" & strAfskra & \" WHERE simi=\'\" & Request.Form(\"simi\") & \"\' OR gsm=\'\" & Request.Form(\"gsm\") & \"\' AND netfang=\" & Request.Form(\"netfang\")

prøv at bruge den istedet for den du allerede har.

Der var mange fejl, jeg kan godt vise dig dem:

    SQL = \"UPDATE leigutaki SET virk =\" & strAfskra & \" WHERE simi=

Her er der en. Der mangler en start \' . og hvad laver % tegnet i \"%\' ?

    \" + Request.Form(\"simi\")& \"%\' or gsm=\'%\"

Her går det HEELT galt. Der er ingen & \"\' og igen et procent tegn for meget!? og ingen \" & ved AND netfang= ..

    & Request.Form(\"simi\") and netfang = +Request.Form(\"netfang\")

Avatar billede stig3 Mester
16. november 2000 - 10:23 #5
Det er for det meste lettere at lave Access stå for SQL\'en og så rette den til bagefter med de variabler, der skal indsættes.

Avatar billede heira Nybegynder
16. november 2000 - 10:55 #6
tdaugaard, NEJ DET VIRKER IKKE !

Jamen, jeg har rodet med det, 100 gange, men uden held.  % disse tegn var bare en alternativ, jeg fandt, men SQL-stringen virker, bara hvis jeg ikke bruger AND og vil lade SQL checke 2 felter, i stedet for kun 1.
Den virker : SQL = \"UPDATE leigutaki SET virk =\" & strAfskra & \" WHERE simi=\" + Request.Form(\"simi\")
    \'her updater jeg strAfskra til \"0\" hvor tlf er som form, men jeg vil gerne at Emailet er også checket.  Derfor er denne SQL nød til at kunne være længere.
Avatar billede tdaugaard Nybegynder
16. november 2000 - 15:00 #7
SQL = \"UPDATE leigutaki SET virk=\" & strAfskra & \" WHERE (simi=\" & Request.Form(\"simi\") & \" OR gsm=\'\" & Request.Form(\"gsm\") & \"\' AND netfang=\" & Request.Form(\"netfang\") & \");\"

prøv den!

hvis ikke det virker så fortæl mig hvilken datatype at felterne er.
Avatar billede tue Nybegynder
16. november 2000 - 20:41 #8
Jeg er ret sikker på jeg kan løse dit problem, jeg skal bare lige vide om det er bogstaver eller tal dine strings indholder!

Hvad indholder:

strAfskra
request.form(\"simi\")
request.form(\"gsm\")
request.form(\"netfang\")
Avatar billede tue Nybegynder
16. november 2000 - 20:50 #9
Jeg kan også bare fortælle dig hvordan du løser problemet, så kan du selv rette det!

Hvis din string er tal, så skal du bruge: \" & dinString & \" (uden \' \')

Hvis din string er bogstaver, så skal du bruge: \'\" & dinString & \"\' (med \' \')
Avatar billede heira Nybegynder
17. november 2000 - 00:27 #10
tue, tak for det, det vidste jeg ikke, men der er noget galt :
Microsoft VBScript compilation error \'800a0409\'

Unterminated string constant
\'fordi hvis man skal slutte en SQL string med en string m/bogstave, skal man jo slutte med \"\'\"
men nu kører det flot!

Tak til tue og tdaugaard  :)


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