/ 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
Problem med at sende besked om allerede in~
Fra : Carsten Pinderup


Dato : 07-08-01 11:30

Denne kode vil kun tjekke den første Ø90 nummer i databasen, resten bliver
gemt igen - hvorfor.

Fx er 1111 første Ø90 nr i db'en og den sender brugeren til
response.write "Ø90 nummeret findes allerede i databasen TJEK nummeret<br>"
osv

1112 står som nr to, men den bliver blot gemt igen og igen.

Hvad er galt?

ø90 er gemt som tekst i DB.


<%
'Henter oplysninger om Ø90 fra formen
str90 = Trim(Request.form("oe90"))

'DSNLess forbindelse til databasen
strDSN = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("konvertering.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Tjekker om Ø90 findes i forvejen
strSQL = "SELECT oe90 FROM stamopl"
set rs = myconn.execute(strSQL)
oe90 = rs ("oe90")


IF str90 = oe90 THEN
response.write "Ø90 nummeret findes allerede i databasen TJEK nummeret<br>"
response.write "<a href='javascript:history.back()'>Gå tilbage til
formen</a><br>"
Response.Write "<a href='se_rediger_data.asp'>Gå til
Konverteringsforsiden</a><br>"

ELSE

'Gemmer oplysninger hvis ikke Ø90 findes i forvejen
strSQL = "INSERT INTO stamopl (dato, oe90, navn, efternavn, tlf, center,
bem )"
strSQL = strSQL & " VALUES (#" &Now & "#,'" & request.form("oe90") & "','"
& request.form("navn") & "','" & request.form("efternavn") & "','" &
request.form("tlf") & "','" & request.form("center") & "','" &
request.form("bem") & "')"
response.write strSQL
myConn.Execute (strSQL)
response.redirect ("siden_er_gemt.asp")

myConn.Execute (strSQL)


END IF

myconn.Close
Set myconn = nothing
Set strSQL = nothing

%>




 
 
Kim Jensen (07-08-2001)
Kommentar
Fra : Kim Jensen


Dato : 07-08-01 14:07

> Fx er 1111 første Ø90 nr i db'en og den sender brugeren til
> response.write "Ø90 nummeret findes allerede i databasen TJEK
nummeret<br>"
> osv
> 1112 står som nr to, men den bliver blot gemt igen og igen.
> Hvad er galt?

> 'Tjekker om Ø90 findes i forvejen
> strSQL = "SELECT oe90 FROM stamopl"
> set rs = myconn.execute(strSQL)
> oe90 = rs ("oe90")

Du mangler noget "WHERE oe90=...." sjov her. Lige nu vælger du jo bare
"oe90" fra alle records og putter derefter den første over i din
oe90-variabel.


mvh
Kim Jensen



Carsten Pinderup (07-08-2001)
Kommentar
Fra : Carsten Pinderup


Dato : 07-08-01 14:22

Ja det fandt jeg også ud af:
**************start
'Tjekker om Ø90 findes i forvejen
strSQL = "SELECT oe90 FROM stamopl WHERE"
strSQL = strSQL & " (oe90 LIKE '%" & str90 & "%')"
Set rs = myConn.Execute(strSQL)
**************slut
MEN MEN så får jeg følgende fejl når jeg sender en "NY" ø90 nr.:

**************start
ADODB.Field error '800a0bcd'

Either BOF or EOF is True, or the current record has been deleted; the
operation requested by the application requires a current record.

/admin/konvertering/gem_data.asp, line 32
**************slut

jeg klistre lige hele asp'en ved:

<%
'Henter oplysninger om Ø90 fra formen
str90 = Trim(Request.form("oe90"))

response.write str90

'DSNLess forbindelse til databasen
strDSN = "DRIVER={Microsoft Access Driver
(*.mdb)};DBQ="&Server.MapPath("konvertering.mdb")
Set myConn = Server.CreateObject("ADODB.Connection")
myConn.Open strDSN

'Tjekker om Ø90 findes i forvejen
strSQL = "SELECT oe90 FROM stamopl WHERE"
strSQL = strSQL & " (oe90 LIKE '%" & str90 & "%')"
Set rs = myConn.Execute(strSQL)

IF str90 <> rs ("oe90") THEN

'Gemmer oplysninger hvis ikke Ø90 findes i forvejen
strSQL1 = "INSERT INTO stamopl (dato, oe90, navn, efternavn, tlf, center,
bem )"
strSQL1= strSQL1 & " VALUES (#" &Now & "#,'" & request.form("oe90") & "','"
& request.form("navn") & "','" & request.form("efternavn") & "','" &
request.form("tlf") & "','" & request.form("center") & "','" &
request.form("bem") & "')"
response.write strSQL1
myConn.Execute (strSQL1)
response.write "<br>siden er gemt"

ELSE
response.write "Ø90 nummeret findes allerede i databasen TJEK nummeret<br>"
response.write "<a href='javascript:history.back()'>Gå tilbage til
formen</a><br>"
Response.Write "<a href='se_rediger_data.asp'>Gå til
Konverteringsforsiden</a><br>"
END IF

myconn.Close
Set myconn = nothing
Set strSQL = nothing
Set strSQL1 = nothing

%>

mvh cpi



Kim Jensen (07-08-2001)
Kommentar
Fra : Kim Jensen


Dato : 07-08-01 14:47

> **************slut
> MEN MEN så får jeg følgende fejl når jeg sender en "NY" ø90 nr.:

> IF str90 <> rs ("oe90") THEN

Du ved jo allerede, at de 2 værdier er ens, da det jo er klausulen i din
SELECT-statement. Så det du istedet skal teste på er om recordsættet er tomt
eller ej:

IF rs.eof THEN
' der blev ikke fundet en record med den angivne oe90-værdi så vi kan lave
INSERT


mvh
Kim Jensen



Carsten Pinderup (07-08-2001)
Kommentar
Fra : Carsten Pinderup


Dato : 07-08-01 14:54

Jeg tror nok der faldt en tiøre der! TAK

"Kim Jensen" <kj@jmt.dk> skrev i en meddelelse
news:3b6ff14a$0$343$edfadb0f@dspool01.news.tele.dk...
> > **************slut
> > MEN MEN så får jeg følgende fejl når jeg sender en "NY" ø90 nr.:
>
> > IF str90 <> rs ("oe90") THEN
>
> Du ved jo allerede, at de 2 værdier er ens, da det jo er klausulen i din
> SELECT-statement. Så det du istedet skal teste på er om recordsættet er
tomt
> eller ej:
>
> IF rs.eof THEN
> ' der blev ikke fundet en record med den angivne oe90-værdi så vi kan lave
> INSERT
>
>
> mvh
> Kim Jensen
>
>



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

Månedens bedste
Årets bedste
Sidste års bedste