Avatar billede ultra Nybegynder
29. december 2002 - 22:36 Der er 14 kommentarer og
2 løsninger

Tilbage til forsiden?

Hej,

Er det muligt at efter man har tilføjet data via <input>/<form> ind i db'en at den fil som modtager Reguest fra form kan vise de data fra db'en som er blevet tilføjet det eneste jeg skal bruge er ID sådan jeg kan Redirect til den side som de tilføjede data skal vises:

|AddNewUserForm.asp|---->|SaveNewUser|---->|her skal den så Redirect til|
Avatar billede Slettet bruger
29. december 2002 - 22:40 #1
kan du ikke bare lave en session med sidste posts id i db'en ?
Avatar billede ultra Nybegynder
29. december 2002 - 22:41 #2
hvordan det ?

(ps. er ny i asp)
Avatar billede Slettet bruger
29. december 2002 - 22:49 #3
strSQL = "SELECT TOP 1 * FROM TABEL ORDER BY userID DESC"
id = conn.execute(strSQL)


så har du den sidste id der er tilføjet i databsen
Avatar billede ultra Nybegynder
29. december 2002 - 22:56 #4
Er det på den måde jeg få ID'en ud

<%
strSQL = "SELECT TOP 1 * FROM Users ORDER BY UserID DESC"
ID = Connection.execute(strSQL)


Response.Redirect "Showuser.asp?ShowID=" & UserID
%>
Avatar billede Slettet bruger
29. december 2002 - 23:09 #5
nus skal den jo lige rettes til: ved ikke om du har et felt der hedder userid i din db, men den hentes sådanne:

Response.Redirect("Showuser.asp?ShowID=" & ID & "")
Avatar billede ultra Nybegynder
29. december 2002 - 23:20 #6
jeg få den her fejl;

Microsoft VBScript runtime error '800a01c2'

Wrong number of arguments or invalid property assignment
Avatar billede Slettet bruger
29. december 2002 - 23:22 #7
i hvilken linie ?
Avatar billede ultra Nybegynder
29. december 2002 - 23:32 #8
i den her
Response.Redirect("ShowMember.asp?ShowID=" & ID & "")
Avatar billede Slettet bruger
29. december 2002 - 23:34 #9
hmmmm
Avatar billede Slettet bruger
29. december 2002 - 23:37 #10
hvad hvis du gør sådanne:

ID = Connection.execute(strSQL)
sti = "ShowMember.asp?ShowID=" & ID

response.redirext(sti)

hvad siger den så ?
Avatar billede ultra Nybegynder
29. december 2002 - 23:39 #11
det samme...
Avatar billede ultra Nybegynder
30. december 2002 - 00:06 #12
hvad skal jeg gøre nu... :(
Avatar billede eagleeye Praktikant
30. december 2002 - 01:27 #13
Jeg vil lige kommentere TOP 1 metoden til at finde sidste ID. Det er en dårlig løsning hvis du bare har en minimal chance for at havde mere en bruge som opretter sig. Det skal godt nok være på samme tid de to opretter sig, men i princippet kan en bruger få vist nogle forkerte oplysninger hvis to opretter sig på samme tid.

Se eks her hvordan man sikkert hendter sidste ID:
http://www.aspfaqs.com/aspfaqs/ShowFAQ.asp?FAQID=79


Princippet er sådan her:

SQL = "INSERT INTO ......................"  'Indsæt SQL'en
conn.Execute SQL 'Udfør og oindsæt SQL'en

'Find ID på sidste indsatte record
Set RS = Conn.Execute ("SELECT @@IDENTITY")
idOfNewlyAddedRecord = RS(0)
RS.Close

Hvis idOfNewlyAddedRecord er lig med 0 er det fordi det ikke virker med den Accesss driver du har og det kan meget let for kommet men så kan man lave det sådan her:

RS.Open "SELECT * FROM tablen", Conn, adOpenKeySet, adLockOptimistic, adCmdTable
RS.AddNew
RS("field1") = value1
RS("field2") = value2
...
RS("fieldN") = valueN
RS.Update
idOfAddedRecord = RS("name_på_autonumer_kolonnen")

Så er ID i idOfAddedRecord
Avatar billede ultra Nybegynder
30. december 2002 - 19:38 #14
>> eagleeye

Tak for din svar, men jeg har sværet ved at forstå den første kode bla. med hvad jeg skal rette på den og hvordan skal jeg kalde den sidste ID frem.

Jeg har rette følgene: 

'Find ID på sidste indsatte record
Set Recordset = Connection.Execute ("SELECT @@IDENTITY")
MemberID = Recordset(0)
Recordset.Close

På forhånd tak!
Avatar billede eagleeye Praktikant
30. december 2002 - 21:35 #15
Du har vel en linie/SQL sætning hvor du indsætter i databasen og den linie ser ud i stil med:

SQL = "INSERT INTO tabelnavn (kolonne, kolonne) VALUES ('cxxxxx','xxxxx')"

'Udfør SLQ sætningen som indsætter i databasen.:
conn.Execute (SQL)

'Så skal du havde ID på den sidste indsatte med denne
Set RS = Conn.Execute ("SELECT @@IDENTITY")
idOfNewlyAddedRecord = RS(0)
RS.Close
Avatar billede ultra Nybegynder
31. december 2002 - 19:29 #16
>> eagleeye, takker!

og tak til questis
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