<% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"test.mdb\") ID = CLng(Request.QueryString(\"ID\")) Mode = LCase(CStr(Request.QueryString(\"Mode\"))) Person = CLng(Request.QueryString(\"Person\")) %>
<% Select Case Mode Case \"nyperson\" If State = 0 Then Response.Write \"<h3>Ny Person</h3>\" ShowpersonForm Else SQLstmt = \"INSERT INTO Person (Person) VALUES (\" SQLstmt = SQLstmt & \"\'\" & Person & \"\', \" SQLstmt = SQLstmt & \"\" & ID & \");\" Conn.Execute SQLstmt %> <p align=\"center\">personen er blevet tilføjet.<br> [<a href=\"person.asp\">Tilbage</a>]
js17dk:> forresten behøver du ikke bruge CLng() og CStr() når det bare skal bruges i en SQL streng, da det er fløjtende ligemeget om det er tal eller strenge.
Generelt er det en god ide ikke at kalde Tabel og felt navn for det samme. Det er lettere at finde ud af når man kikker på det. Ligeledes bør man ikke kalde variable det samme som Felt navne.. igen fordi det er lettere at se forskel når de har hvet deres navn.
tabllen: Person -> PersonTabel variable: Person -> newPerson ligeledes ID -> idid
Det lyder måske lidt dumt, men det er 10 gange nemmere at finde fejl i koden.
Prøv at udskrive dine SQL statments så er det muligt at se om evt er forkerte.
SQLstmt = \"UPDATE Person SET \" SQLstmt = SQLstmt & \"Person = \'\" & Person & \"\' \" SQLstmt = SQLstmt & \"WHERE ID = \" & ID
response.write SQLstmt Conn.Execute SQLstmt
Jeg tror ikke det er noget i databasen. Den kommer normalt og siger hvis der er noget galt. hvis du løre på en NT kan der måske være noget med rettigheder på database file(læs/skriv).
Jeg vil mene der mangler toppen skal se sådan ud: <% Set Conn = Server.CreateObject(\"ADODB.Connection\") Conn.Open \"DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=\" & server.MapPath(\"test.mdb\") ID = Request.QueryString(\"ID\") Mode = LCase(CStr(Request.QueryString(\"Mode\"))) Person = Request.QueryString(\"Person\") State = Request.QueryString(\"State\") %>
Jeg har taget kode fra det du lage ind på eksperten, og tilføjet State = Request.QueryString(\"State\")
\'Lukker connection - Rydder op set count = Nothing set SQLstmt = Nothing set conn = Nothing %>
count(\"url\") betyer man hender værdien af feltet URL i den række man er kommet til.
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.