/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Update indsæter kun "tom plas"
Fra : pepss


Dato : 01-04-09 16:26

hejsa NG
jeg har et problem med at opdatere min database.
jeg tror det er mine ' og " der er problemet! men jeg har aldrig
rigtig fåety styr på hvornår og hvordan de skal bruges i sql.
min sql setning ser sådan ud:

strSQL = "Update profil Set navn = ('" & Request.Form("navn") &
"') , password = ('" & Request.Form("password") & "') Where id =
('" & Session("id") & "') "

den giver igen fejl men der kommer bare en tom plas i navn og
password.
når jeg ud skriver strSQL står der:
SQL-sætning bliver: Update profil Set navn = ('test') , password
= ('test') Where id = ('1')
som jeg da synes ser rigtig nok ud...

håber der er en der kan se hvad jeg gør forkert!

mvh
ole friis

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jakob Lund Krarup (01-04-2009)
Kommentar
Fra : Jakob Lund Krarup


Dato : 01-04-09 17:17

pepss wrote:
> hejsa NG
> jeg har et problem med at opdatere min database.
> jeg tror det er mine ' og " der er problemet! men jeg har aldrig
> rigtig fåety styr på hvornår og hvordan de skal bruges i sql.
> min sql setning ser sådan ud:
>
> strSQL = "Update profil Set navn = ('" & Request.Form("navn") &
> "') , password = ('" & Request.Form("password") & "') Where id =
> ('" & Session("id") & "') "
>
> den giver igen fejl men der kommer bare en tom plas i navn og
> password.
> når jeg ud skriver strSQL står der:
> SQL-sætning bliver: Update profil Set navn = ('test') , password
> = ('test') Where id = ('1')
> som jeg da synes ser rigtig nok ud...
>
> håber der er en der kan se hvad jeg gør forkert!
>
> mvh
> ole friis
>

Hej Ole : )

Jeg tror du skal udelade paranteserne.
Den syntaks har jeg ikke set før.

På den måde bliver resultatet:
Update profil Set navn = 'test' , password = 'test' Where id = '1'

Og se om det virker...

Venligste hilsener - Jakob

Ukendt (01-04-2009)
Kommentar
Fra : Ukendt


Dato : 01-04-09 18:21


>> når jeg ud skriver strSQL står der:
>> SQL-sætning bliver: Update profil Set navn = ('test') , password
>> = ('test') Where id = ('1') som jeg da synes ser rigtig nok ud...
>>
>> håber der er en der kan se hvad jeg gør forkert!
>>
>> mvh
>> ole friis
>>
>
> Hej Ole : )
>
> Jeg tror du skal udelade paranteserne.
> Den syntaks har jeg ikke set før.
>
> På den måde bliver resultatet:
> Update profil Set navn = 'test' , password = 'test' Where id = '1'
>

Yderligere kommentarer:
Vi kan ikke lige se hvordan det er i dit tilfælde, men oftest er id et tal.
Hvis det er tilfældet, skal du ikke have ' omkring.

Iøvrigt vil jeg (som sædvanlig) foreslå, at overførte parametre lægges i en
variabel, inden de anvendes i en SQLstring, altså efter følgende princip:

Navn=Request.Form("Navn")
strSQL = "Update profil Set navn = '" & Navn &..........

Så er det meget lettere at overskue.

mvh
Finn



Stig Johansen (01-04-2009)
Kommentar
Fra : Stig Johansen


Dato : 01-04-09 18:08

pepss wrote:

> jeg har et problem med at opdatere min database.
> jeg tror det er mine ' og " der er problemet! men jeg har aldrig
> rigtig fåety styr på hvornår og hvordan de skal bruges i sql.
> min sql setning ser sådan ud:

I (standard) SQL skal du bruge " til identifiers (hvis påkrævet) , og ' til
streng variable - tal skrives uden ' og ".

Så din (standard)sætning kan sådan ud:
Update "profil" Set navn = 'test', password='test' Where id=1

Brugen af " er kun nødvendig hvis der er 'mærkelige' tegn i tabel eller
feltnavne.

Nu driller jeg lidt med _standard_, for MS synes man skal bruge [] i stedet,
så den kunne også se sådan her ud:
Update [profil] Set navn = 'test', password='test' Where id=1

Men mySQL har sin egen mening, og der kan den se sådan her ud:
Update `profil` Set navn = 'test', password='test' Where id=1

Men undgå i videst muligt omfang 'mærkelige' tegn i tabel/feltnavne, og
nøjes med:
Update profil Set navn = 'test', password='test' Where id=1
så har du større bevægelighed i valg af databaser.


--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste