Avatar billede neoo Nybegynder
27. december 2003 - 09:57 Der er 52 kommentarer og
1 løsning

insæt data i db?

hej til alle.


Jeg har en side hvor man kan oprette sig som kunde igennem en formuler og så trykker man på en knap "opret bruger" så gemmer den alle informationerne rigtigt i databasen.

problemet er så det at jeg gerne vil have at når man trykker på knappen "opret bruger" at den stadige gemmer alt men at efterfølgende visser alle de informationer man har tastet ind.(altså en bekræftelse).

er der nogen der ved hvordan sådan noget ser ud i kode?
og hvordan får man fat i lige den record?
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:03 #1
Du kan eventuelt skrive:

Du er oprettet med disse oplysninger:
<% Response.Write "Brugernavn: " & Request.Form("brugernavn") & "" %>
<% Response.Write "Kodeord: " & Request.Form("kodeord") & "" %>
<% Response.Write "Email: " & Request.Form("Email") & "" %>

Osv...
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:05 #2
hvis du indsætter i en database med autonumering (ofte kollonen id) kan du sortere faldende vha ORDER BY id DESC sidst i din SQL statement. for at trække den sidst oprettet bruger ud kan du gøre således:

SELECT TOP 1 * FROM tabel ORDER BY id DESC
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:06 #3
fixxxer, hvis 2 brugere opretter på samme tid eller næsten, kan det jo være at man kan se den anden brugers kode osv. og det er jo ikke smart...
Avatar billede neoo Nybegynder
27. december 2003 - 10:07 #4
til syntax hh

hvordan får den fat i den pågældende record
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:08 #5
Det er ingen record...
Request.Form viser den man har skrevet i den pågældende form...
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:09 #6
syntax_hh >> nu vil jeg så mene at sansynligheden for at to bruger opretter sig med så kort mellemrum at det ville give anledning til problemer.
bygger du din påstand på erfaring eller gæt?
Avatar billede neoo Nybegynder
27. december 2003 - 10:11 #7
jeg har en side hvor man taster informationerne ind.

jeg har placeret redirecten her.

        rs.Update
        rs.Close
        Set rs = Nothing
        conn.Close
        Set conn = Nothing
        Response.Clear
        Response.Redirect "delete.asp"
End Select




når man så trykker på opret kunde kommer jeg til næste side som hedder delete.asp

og der visser den intet kun
Brugernavn: Kodeord: Email:
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:11 #8
fixxxer >> Det må så være et gæt, men sandsynligheden er også meeeeget lav...
Avatar billede neoo Nybegynder
27. december 2003 - 10:12 #9
delete.asp ser sådan ud :

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Ny side 1</title>
</head>

<body>


<% Response.Write "Brugernavn: " & Request.Form("x_navn") & "" %>
<% Response.Write "Kodeord: " & Request.Form("x_adresse") & "" %>
<% Response.Write "Email: " & Request.Form("x_Telefon") & "" %>
</body>

</html>
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:13 #10
Du kunne lade være med at redirecte men så bare skrive disse ting ind isteden for fx:

        rs.Update
        rs.Close
        Set rs = Nothing
        conn.Close
        Set conn = Nothing
        Response.Clear
Response.Write "Du er oprettet med disse oplysninger:<br>"
Response.Write "Brugernavn: " & Request.Form("brugernavn") & "<br>"
Response.Write "Kodeord: " & Request.Form("kodeord") & "<br>"
Response.Write "Email: " & Request.Form("Email") & ""
End Select
Avatar billede neoo Nybegynder
27. december 2003 - 10:14 #11
fixxxer hvordan kommer koden til dit at se ud ? for delete.asp evt.
Avatar billede neoo Nybegynder
27. december 2003 - 10:15 #12
jamen den skal redirecte . det sådan designet ser ud
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:16 #13
Hmm... Så kunne du måske bruge fixxxer, 27/12-2003 10:05:04
Avatar billede neoo Nybegynder
27. december 2003 - 10:17 #14
jeg har lige prøvet uden at redirecte det ser meget grimt ud og det virker hellere ikke
Avatar billede neoo Nybegynder
27. december 2003 - 10:17 #15
jamen hvordan kommer den til at se ud kode mæssige
Avatar billede neoo Nybegynder
27. december 2003 - 10:18 #16
hvor skal jeg smide SELECT TOP 1 * FROM tabel ORDER BY id DESC i delete.asp
Avatar billede neoo Nybegynder
27. december 2003 - 10:19 #17
:)
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:21 #18
Først laver du en connection og derefter:
<%
strSQL = "SELECT TOP 1 * FROM tabel ORDER BY id DESC"
Set rs = conn.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("brugernavn")%><br>

Osv...
Avatar billede neoo Nybegynder
27. december 2003 - 10:30 #19
den melder fejl.
kan du se hvad jeg har gjort galt ?







<%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("min.db")

If Request("mode") = "Check" then

Function unQuote(strTekst)
  strTekst = Trim(strTekst)
  unQuote = Replace(strTekst,"%","53")
End Function

    ' Gemmer formfelterne i Variabler
        strUsername = unQuote(request("username"))
        strPassword = unQuote(request("password"))

  Sql = "Select Count(*) as Found from user where (username = '" & strUsername  & "') and (password ='" & strPassword  & "')"
  Set LO = RS.Execute(Sql)
  if LO("Found") = 0 then
    Session("login") = ""
    error = "Du blev ikke godkendt af systemet !"
  else
  strDSN = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("min.db")
  Set myConn = Server.CreateObject("ADODB.Connection")
  myConn.Open strDSN
  strSQL = "SELECT * FROM user where (username = '" & Request("username") & "') and (password ='" & Request("password") & "')"
  Set ez = myConn.Execute(strSQL)
    Session("login") = "yes mate"
    Response.Redirect "default.asp"
    EZ.Close
    RS.Close
    Conn.Close
  end if
end if
%>





<%
strSQL = "SELECT TOP 1 * FROM tabel ORDER BY id DESC"
Set rs = conn.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("brugernavn")%><br>


den melder fejl i (Set rs = conn.execute(strSQL)) og siger

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Conn'
/tester/delete.asp, line 48
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:32 #20
Du skal huske at ændre SELECT Top 1 * FROM >>Tabel<< ORDER BY id DESC
til din tabel....
Avatar billede neoo Nybegynder
27. december 2003 - 10:32 #21
sorry sådan ser den ud


<%
dim xDb_Conn_Str
xDb_Conn_Str = "Data Source=C:min.db.mdb;Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=;"
%>






<%
strSQL = "SELECT TOP 1 * FROM tabel ORDER BY id DESC"
Set rs = conn.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("brugernavn")%><br>
Avatar billede neoo Nybegynder
27. december 2003 - 10:33 #22
den gider ikke at acceptere "Set rs = conn.execute(strSQL)"
Avatar billede syntax_hh Nybegynder
27. december 2003 - 10:34 #23
<%
dim xDb_Conn_Str
xDb_Conn_Str = "Data Source=C:min.db.mdb;Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=;"
%>






<%
strSQL = "SELECT TOP 1 * FROM Skriv tabelnavnet her!! ORDER BY id DESC"
Set rs = xDb_Conn_Str.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("brugernavn")%><br>
Avatar billede neoo Nybegynder
27. december 2003 - 10:38 #24
så melder den det her

Error Type:
Microsoft VBScript runtime (0x800A01A8)
Object required: 'Data Source=C:\Docum'
/tester/delete.asp, line 12

line 12:  Set rs = xDb_Conn_Str.execute(strSQL)
Avatar billede neoo Nybegynder
27. december 2003 - 10:38 #25
<%
strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = xDb_Conn_Str.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("navn")%><br>
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:48 #26
xDb_Conn_Str er ikke et objekt men en conn.strengen. hva hedder dit conn.objekt?
Avatar billede neoo Nybegynder
27. december 2003 - 10:49 #27
det hele ser sådan ud :
<%
dim xDb_Conn_Str
xDb_Conn_Str = "Data Source=C:\Documents and Settings\Administrator\Desktop\sitetester\db\AnatolienRejser.mdb;Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=dogan;"
%>


<%

strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = xDb_Conn_Str.execute(strSQL)
%>

Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("navn")%><br>
:)
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:50 #28
det kan jeg se nu, du har valgt at kalde din connections for rs. her ville jeg personligt vælge at kalde den conn. men følgende burde virker i dit tilfælde:

<%
strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set oRS = rs.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=oRS("navn")%><br>
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:51 #29
dim xDb_Conn_Str
xDb_Conn_Str = "Data Source=C:\Documents and Settings\Administrator\Desktop\sitetester\db\AnatolienRejser.mdb;Provider=Microsoft.Jet.OLEDB.4.0; Jet OLEDB:Database Password=dogan;"

er slet slet ikke nok til at lave en database connection. det er jo blot henvisning til din database og ikke et helt objekt.
Avatar billede neoo Nybegynder
27. december 2003 - 10:51 #30
jeg bruger det i alle de sider jeg har
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:52 #31
hvor kommer så denne her fra?

SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("min.db")
Avatar billede neoo Nybegynder
27. december 2003 - 10:53 #32
i alle mine sider skriver jeg blot

<!--#include file="db.asp"--
Avatar billede eagleeye Praktikant
27. december 2003 - 10:53 #33
hmm alt respect for det, med nrå du bruger TOP 1 er det ikke sikkert du får vist det rigtigt brugernavn, hvis to brugere opretter sig på samme tid ved den ene se dens nyeste brugernavn og ikke det han har oprettet sig med.
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:53 #34
jeg kan love dig en ting og det er at xDb_Conn_Str ikke kan eksekvere noget som helst, kun gennem et ADODB.Connection objekt
Avatar billede neoo Nybegynder
27. december 2003 - 10:54 #35
det kommer fra en helt andet connection, jeg to forskellige conection
Avatar billede fixxxer Nybegynder
27. december 2003 - 10:55 #36
neoo >> så lad os se din db.asp

eagleeye >> det har du naturligvis ret i, men spørgsmålet er så hvordan man så kan gøre?
Avatar billede neoo Nybegynder
27. december 2003 - 10:55 #37
du har sikkert ret
Avatar billede neoo Nybegynder
27. december 2003 - 10:57 #38
<%
SET RS = Server.CreateObject("ADODB.Connection")
rs.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("min.mdb")

hvad med det her
Avatar billede eagleeye Praktikant
27. december 2003 - 10:59 #39
Når man opretter en bruger skal man hendte ID ud fra databasen og det kan man gøre på et par forskellige måder alt efter database og så bruge det ID til at hendte fra databasen.


<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Date Source=" & Server.MapPath("somedir/somedb.mdb")

'Først indsæt data
SQL = "INSERT INTO tabelNavn (kol1, kol2) VALUES('abc', 'xyz')"
Conn.Execute (SQL)

'Find sidste tilføjet ID
SQL = "SELECT @@IDENTITY FROM tabelNavn"
Set RS = Conn.Execute(SQL)
nytID = RS(0)
RS.Close
response.write nytID
%>

Hvis dette eksemple giver udskriver 0 så er der en anden metode
Avatar billede neoo Nybegynder
27. december 2003 - 11:04 #40
vi skal ikke smide noget ind, vi skal udskrive det sidste vi har skrevet til databasen
Avatar billede neoo Nybegynder
27. december 2003 - 11:04 #41
i et nyt side
Avatar billede neoo Nybegynder
27. december 2003 - 11:05 #42
<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Date Source=" & Server.MapPath("min.db")




<%
strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = xDb_Conn_Str.execute(strSQL)
%>

Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("navn")%><br>
Avatar billede neoo Nybegynder
27. december 2003 - 11:05 #43
men det her melder fejl :(
Avatar billede fixxxer Nybegynder
27. december 2003 - 11:09 #44
nu fik du da rettet første problem, men stadigvæk synes du at xDb_Conn_Str skal eksekveres. Det kan den STADIG ikke! ;)

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Date Source=" & Server.MapPath("min.db")




<%
strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = Conn.execute(strSQL)
%>

Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("navn")%><br>
Avatar billede neoo Nybegynder
27. december 2003 - 11:11 #45
nu melder den : Could not find installable ISAM.
Avatar billede neoo Nybegynder
27. december 2003 - 11:12 #46
Error Type:
Microsoft JET Database Engine (0x80004005)
Could not find installable ISAM.
/tester/delete.asp, line 5

line 5: Conn.Open "Provider=Microsoft.JET.OLEDB.4.0;Date Source=" & Server.MapPath("min.mdb")
Avatar billede fixxxer Nybegynder
27. december 2003 - 11:14 #47
lad os lige prøve en anden model

<%
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open xDb_Conn_Str

strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = Conn.execute(strSQL)
%>
Avatar billede fixxxer Nybegynder
27. december 2003 - 11:14 #48
hvis det heller ikke virker må jeg anbefale dig at give dig selv 30 minutters tid til at finde rundt i dine deklerationer og objekter
Avatar billede neoo Nybegynder
27. december 2003 - 11:15 #49
jo men hvor definere vi adressen på databasen ?
Avatar billede neoo Nybegynder
27. december 2003 - 11:18 #50
nej jeg trorre jeg tage imod din anbefalling , jeg giver den lige 30 minutter tid.
Avatar billede eagleeye Praktikant
27. december 2003 - 11:18 #51
Det kode du viser er det på en ny side og ikke på siden med opret bruger?
Avatar billede neoo Nybegynder
27. december 2003 - 12:18 #52
sidne opret bruger virker fint, men jeg skal have lavet en ny side som skal visse den sidste bruger der tilmeldt i databasen
Avatar billede eagleeye Praktikant
27. december 2003 - 12:48 #53
Prøv at tage din connection fra en side som virker og put den ind på den nye side så. Tilføj dette:


<%
strSQL = "SELECT TOP 1 * FROM OpretBooking ORDER BY id DESC"
Set rs = Conn.execute(strSQL)
%>
Du er oprettet med disse oplysninger:<br>
Brugernavn: <%=rs("navn")%><br>



Vær opmærksom på denne linje:
Set rs = Conn.execute(strSQL)
At Conn skal være navnet på den connection object du bruger,.
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