01. oktober 2003 - 22:55Der er
21 kommentarer og 2 løsninger
ændre data i en database vha. en form
Hej Jeg er ved at lave en "tre step" løsning på at kunne ændre data i en tabel. 1. step: data vises med et "Change" link(change_status.asp) 2. step: data hentes over i en form og kan ændres (form_status.asp) 3. step: data gemmes (result_status.asp)
Feltet "initials" skal vises, og feltet "status" skal kunne ændres. Databasen hedder education og tabellen hedder students.
Jeg kan ikke få det helt til at virke men er kommet et stykke af vejen. step 2 fejler, og når jeg gemmer, så opdateres tabelen ikke, men der kommer en ny i stedet
Håber jeg kan få lidt hjælp. Her er koden til siderne:
change_status.asp ---------------------------------- <% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" strSQL = "SELECT * FROM students ORDER BY students.ID Desc" set news = objConn.Execute(strSQL) %> <% While NOT news.EOF %>
form_status.asp ---------------------------------- <% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" %> <% strSQL = "SELECT * FROM students WHERE id = " & request.QueryString("id") & "" Set objRs = objConn.Execute(strSQL) %>
Det hjalp (rettet det til students hele vejen). Nu kommer der ikke data over i form'en. <% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" %> <% strSQL = "SELECT * FROM students WHERE id = " & request.QueryString("id") & "" Set objRs = objConn.Execute(strSQL) %>
Ups - er rette. Når jeg "gemmer" kommer fejlen Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'id ='.
<% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" strSQL = "update students set status = '" & Request.Form("status") & "' where id = " & Request.Form("id")'" objConn.Execute(strSQL) objConn.Close %>
<% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" strSQL = "update students set status = '" & Request.Form("status") & "' where id = " & Request.Form("id") objConn.Execute(strSQL) objConn.Close %>
<% Set objConn = Server.CreateObject("ADODB.Connection") objConn.Open="hcb_scales_education" strSQL = "update students set status = '" & Request.Form("status") & "' where id = " & Request.QueryString("id") objConn.Execute(strSQL) objConn.Close %>
Grunden til den fejl kommer er at din ID er tom....
Jeg tog denne med på change_status.asp <td width="100"><%=students.Fields("id")%></td>
Så virker det - takker for en kanon hjælp :)))
Kim
Synes godt om
Ny brugerNybegynder
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.