Avatar billede no_doubt Nybegynder
28. januar 2003 - 17:34 Der er 11 kommentarer og
1 løsning

insert, update

Hvad sker der, hvorfor virker
<%set rs = server.CreateObject("ADODB.Recordset")
set conn = server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& server.mappath("siteusers.mdb")
SQL = "INSERT INTO ip(ip, dato, navn) VALUES ('" & Request.ServerVariables("REMOTE_ADDR") & "',  '" & now() & "', '" & navn & "') where ip <> '" & request.ServerVariables("REMOTE_ADDR") & "'"
response.write (sql)
set rs = conn.execute(SQL)
SQL1 = "update ip set dato = '" & now() & "' where ip = '" & request.ServerVariables("REMOTE_ADDR") & "'"
set rss = conn.execute(SQL1)
SQL2 = "update ip set navn = '" & navn & "' where ip = '" & request.ServerVariables("REMOTE_ADDR") & "' AND navn <> """
set rss = conn.execute(SQL2)
Set rs = Nothing
Set rss = Nothing
Set rss = Nothing
%>
ikke ?
Avatar billede Spotgun Seniormester
28. januar 2003 - 17:39 #1
Du får ikke noget resultset tilbage ved Insert's og Update's... kun Select's! Prøv at ændre dine linier her:

set rs = conn.execute(sql)

til:

conn.execute(sql)

Det samme gælder resten af dine resultsets...
Avatar billede eagleeye Praktikant
28. januar 2003 - 17:59 #2
Hvis dato kolonnen er defineret som Dato/klokkeslet i databasen skal du overføre Dato i US/UK format yyyy-mm-dd eller mm-dd-yyyy og så bruger # ikke ' omkring. Når du bare bruger now() så bruge den som er indbygget i Access:

Så din SQL1 bliver:

SQL1 = "update ip set dato = now() where ip = '" & request.ServerVariables("REMOTE_ADDR") & "'"
Avatar billede eagleeye Praktikant
28. januar 2003 - 17:59 #3
og den føste SQL bliver:

SQL = "INSERT INTO ip(ip, dato, navn) VALUES ('" & Request.ServerVariables("REMOTE_ADDR") & "',  now(), '" & navn & "') where ip <> '" & request.ServerVariables("REMOTE_ADDR") & "'"
response.write (sql)
Avatar billede no_doubt Nybegynder
28. januar 2003 - 18:00 #4
hjalp ikke:
Microsoft JET Database Engine error '80040e14'

Missing semicolon (;) at end of SQL statement.

/test.asp, line 6
Avatar billede eagleeye Praktikant
28. januar 2003 - 18:00 #5
og så skal der ikke WHERE på en INSERT


SQL = "INSERT INTO ip(ip, dato, navn) VALUES ('" & Request.ServerVariables("REMOTE_ADDR") & "',  now(), '" & navn & "')"
response.write (sql)
Avatar billede no_doubt Nybegynder
28. januar 2003 - 18:01 #6
prøver din eagle
Avatar billede no_doubt Nybegynder
28. januar 2003 - 18:02 #7
Jeg vil gerne have en where på den
Avatar billede eagleeye Praktikant
28. januar 2003 - 18:04 #8
Hvis du skal havde WHERE på så skal du bruge UPDATE som i SQL1 og SQL2
Avatar billede no_doubt Nybegynder
28. januar 2003 - 18:05 #9
hvorfor ikke insert
Avatar billede eagleeye Praktikant
28. januar 2003 - 18:10 #10
Det siger SQL standeten. Man indsætter nye data med INSERT og man opdater data med UPDATE, og sletter data med DELETE.
Se mere her: http://www.w3schools.com/sql/default.asp
Avatar billede no_doubt Nybegynder
28. januar 2003 - 18:11 #11
Hvordan skal det hele så se ud hvis den kun skal inserte hvis ip er anderledes end ip i db
Avatar billede eagleeye Praktikant
28. januar 2003 - 18:41 #12
Så du nød til at tjekke på om IP'en findes i databasen:

SQL = "SELECT ip FROM ip WHERE ip = '" & Request.ServerVariables("REMOTE_ADDR") & "'"
set rs = Conn.execute(SQL)
if rs.EOF then
  'IP'en fines IKKE i tabellen

else
  'IP'en findes

end if
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