/ 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
Forbindelse til SQL Server
Fra : Martin Højgaard Hans~


Dato : 24-07-02 12:54

Hvad er det jeg gør forkert her:

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "Driver={SQLOLEDB}; Server=xxxxxx; Database:xxxxxx; uid=xxxxx;
pws=xxxx


Er det ikke rigtigt?

Og så eller:

dim SQL
SQL = "SELECT * FROM customers WHERE companykey="& Request("id")
Set Rs = myConn.Execute(SQL)

Response.Write Rs("clicks")

Rs.Close
myConn.Close


Det går galt i min SQL Connection....


mvh.

, Martin



 
 
Jens Gyldenkærne Cla~ (24-07-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-07-02 13:06

Martin Højgaard Hansen skrev:

> Set myConn = Server.CreateObject("ADODB.Connection")
> myConn.Open "Driver={SQLOLEDB}; Server=xxxxxx;
> Database:xxxxxx; uid=xxxxx; pws=xxxx

Det er muligvis bare en skrivefejl her, men du mangler et
slutanførselstegn i .Open-sætningen.

> dim SQL
> SQL = "SELECT * FROM customers WHERE companykey="&
> Request("id") Set Rs = myConn.Execute(SQL)

Har du fuld kontrol over hvad der kommer ind i/ud af Request("id")?
Er der mulighed for f.eks. en tom værdi? Lidt fejlkontrol kan
anbefales.


> Response.Write Rs("clicks")

Forslag: Sæt en "If not Rs.EOF..." ind. Hvis det kun er feltet
clicks du skal bruge bør du også nøjes med at have det ene felt i
dit postsæt - dvs. "SELECT clicks..." i stedet for "SELECT *...".

> Det går galt i min SQL Connection....

Fejlmeddelelse?

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Højgaard Hans~ (24-07-2002)
Kommentar
Fra : Martin Højgaard Hans~


Dato : 24-07-02 13:13


"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns92558F83E399Fjcdmfdk@193.88.15.213...
> Martin Højgaard Hansen skrev:
>
> > Set myConn = Server.CreateObject("ADODB.Connection")
> > myConn.Open "Driver={SQLOLEDB}; Server=xxxxxx;
> > Database:xxxxxx; uid=xxxxx; pws=xxxx
>
> Det er muligvis bare en skrivefejl her, men du mangler et
> slutanførselstegn i .Open-sætningen.
>
> > dim SQL
> > SQL = "SELECT * FROM customers WHERE companykey="&
> > Request("id") Set Rs = myConn.Execute(SQL)
>
> Har du fuld kontrol over hvad der kommer ind i/ud af Request("id")?
> Er der mulighed for f.eks. en tom værdi? Lidt fejlkontrol kan
> anbefales.
>
>
> > Response.Write Rs("clicks")
>
> Forslag: Sæt en "If not Rs.EOF..." ind. Hvis det kun er feltet
> clicks du skal bruge bør du også nøjes med at have det ene felt i
> dit postsæt - dvs. "SELECT clicks..." i stedet for "SELECT *...".
>
> > Det går galt i min SQL Connection....
>
> Fejlmeddelelse?
>
> --
> Jens Gyldenkærne Clausen
> Svar venligst under det du citerer, og citer kun det der er
> nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
> hvordan på http://usenet.dk/netikette/citatteknik.html

Jeg får denne fejl her:

Data source anme not found and no default driver specified

??? Jeg har da skrevet min connection string rigtigt... eller hva?

Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open "Driver={SQLOLEDB}; Server=xxxxxx; Database:xxxxxx; uid=xxxxx;
pws=xxxx;"

, Martin



Jens Gyldenkærne Cla~ (24-07-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-07-02 13:23

Martin Højgaard Hansen skrev:

> Jeg får denne fejl her:
>
> Data source anme not found and no default driver specified

Og din database hedder altså anme?

> ??? Jeg har da skrevet min connection string rigtigt... eller
> hva?
>
> Set myConn = Server.CreateObject("ADODB.Connection")
> myConn.Open "Driver={SQLOLEDB}; Server=xxxxxx;
> Database:xxxxxx; uid=xxxxx; pws=xxxx;"

Her får du lige en af dem jeg benytter:

"Provider=sqloledb;user id=xxxx;pwd=xxxx;server=xxxx;initial
catalog=xxxxxx"

En hurtig sammenligning senere:
Jeg tror pws er en fejl - prøv med pwd. Hvis det stadig ikke
virker, så prøv med de parameternavne jeg har ovenfor.

PS: Vil du ikke klippe lidt i dine citater - det gør det lettere at
overskue dine indlæg. Se evt. min signatur.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Martin Højgaard Hans~ (24-07-2002)
Kommentar
Fra : Martin Højgaard Hans~


Dato : 24-07-02 13:50

Ok, nu fandt jeg fejlen med SQL strengen.. *DOOH*


Well, nu har jeg så et andet problem...
Jeg skal updatere en tal-felt, som har en null værdi...
Hver gang der klikkes ind på siden, skal denne værdi forhøjes med 1
Her har jeg lavet en test streng, for at se om værdien ændres til 10, men
det gør den ikke.

dim SQL
SQL = "UPDATE customers Set clicks = '10' WHERE companykey="& Request("id")
myConn.Execute(SQL)
myConn.Close



Jens Gyldenkærne Cla~ (24-07-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-07-02 13:57

Martin Højgaard Hansen skrev:

> Jeg skal updatere en tal-felt, som har en null værdi...

[klip]

> SQL = "UPDATE customers Set clicks = '10' WHERE companykey="&
> Request("id") myConn.Execute(SQL)

Der skal ikke anførselstegn om tal:

SQL = "UPDATE customers Set clicks = 10 WHERE companykey="&
Request("id") myConn.Execute(SQL)


--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Jens Gyldenkærne Cla~ (24-07-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 24-07-02 14:06

Martin Højgaard Hansen skrev:

> Jeg skal updatere en tal-felt, som har en null værdi...
> Hver gang der klikkes ind på siden, skal denne værdi forhøjes
> med 1 ...

Hvis du sætter en defaultværdi til 0 kan du lave sql-delen
simplere:

SQL = "UPDATE customers Set clicks = clicks + 1 WHERE companykey="&
Request("id") myConn.Execute(SQL)

Når dit felt fungerer som tæller er der ikke noget galt i at have
en standardværdi der ikke er Null - uanset hvad du tæller må 0 vel
siges at være en o.k. startværdi...

I din tabeldefinition kan du sætte defaultværdien, så du ikke
behøver at tænke på den ved oprettelse af nye poster. Hvis du skal
være sikker på at der ikke gemmer sig gamle Null-værdier i feltet
er det samtidig en god ide at sætte feltet til at være NOT NULL -
altså ikke acceptere nullværdier i feltet overhovedet.

--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408938
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste