04. november 2002 - 17:50
Der er
10 kommentarer og 2 løsninger
Select * ud fra en mdb database
Er det ikke muligt at selecte ud fra navn eller værdi eks: SQL = "SELECT * FROM users WHERE brugernavn = hugge" Set rs = Conn.Execute(SQL) Eller skal det være et nummer (ID)? eks: SQL = "SELECT * FROM users WHERE ID = 3" Set rs = Conn.Execute(SQL) Jeg får fejl hver gang jeg ikke selcter et nummer. Hvad gør man får at selecte navne m.m.??? /Thomas
Annonceindlæg fra Barco
04. november 2002 - 17:52
#1
SQL = "SELECT * FROM users WHERE brugernavn = 'hugge'" - prøv det
04. november 2002 - 17:53
#2
Jo det kan du sagtens. Du skal bare huske at sætte plinger udenom når det er tekst. Prøv noget lignende: SQL = "SELECT * FROM users WHERE brugernavn =" & "'hugge'"
04. november 2002 - 17:56
#3
Præcis. Du skal bare sætte apostroffer omkring navnet. Altså de almindelige lodrette apostroffer og ikke de skrå!
04. november 2002 - 18:00
#4
Hvad med store og små bogstaver? hvor kræsen er den der?
04. november 2002 - 18:02
#5
Så vidt jeg husker er den ligeglad. Men må man spørge hvorfor du ønsker at gøre det på denne måde. Hvis nu f.eks. brugeren hugge har lyst til at ændre sit brugernavn så skal du jo også til at ændre din kode.
04. november 2002 - 18:03
#6
Det skulle være ligegyldigt om du skriver med store eller små bogstaver, i hvert fald så vidt jeg selv kan teste mig frem til.
04. november 2002 - 19:08
#7
Hvorfor fejler dette så? fejler på denne linie -->> Id = rs("id") <% If Request.Querystring("page") = "opret" then %> <!-- #include file="includes/OpenDB.asp" --> <% domain = Request.form("domain") dot = Request.form("dot") password = Request.form("password") strSQL = "Insert into users (" strSQL = strSQL & "domain, " strSQL = strSQL & "dot, " strSQL = strSQL & "password) " strSQL = strSQL & "values( " strSQL = strSQL & "'" & domain & "', " strSQL = strSQL & "'" & dot & "', " strSQL = strSQL & "'" & password & "')" Conn.Execute(strSQL) strSQL = "SELECT * FROM users WHERE domain= 'domain'" Set rs = Conn.Execute(strSQL) id = rs("id") 'response.write id %> <!-- #include file="includes/CloseDB.asp" --> Brugeren er nu oprettet!<p><a href="admin_user_change.asp?id=<%=id %>">Fortsæt med at redigere</a> <% response.end End if %> </p> <form method="POST" action="admin_opret_bruger.asp?page=opret"> <p>domain:</p> <p><input type="text" name="domain" size="20">.<select size="1" name="dot"> <option selected>dk</option> <option>com</option> <option>net</option> <option>org</option> </select></p> <p>Password</p> <p><input type="text" name="password" size="20"></p> <p><input type="submit" value="Opret" name="B1"> <input type="reset" value="Nulstil" name="B2"></p> </form>
04. november 2002 - 22:11
#8
Fordi du ikke får det nye ID ud på den måde når du opretter en bruger. Prv med dette som skulle få sidste ID ud af datbasen: strSQL = "Insert into users (" strSQL = strSQL & "domain, " strSQL = strSQL & "dot, " strSQL = strSQL & "password) " strSQL = strSQL & "values( " strSQL = strSQL & "'" & domain & "', " strSQL = strSQL & "'" & dot & "', " strSQL = strSQL & "'" & password & "')" Conn.Execute(strSQL) strSQL = "SELECT * FROM users WHERE domain= 'domain'" Conn.Execute(strSQL) Set RS = Conn.Execute( "SELECT @@IDENTITY" ) id = RS(0) 'PRØV at udskrive id og hvis det er 0 eller -1 så virker den metode ikke. Den virker nemlig kun i nogle tilfælde med Access.: Response.write id
04. november 2002 - 22:12
#9
En anden måde som bør virker er denne og den minder lidt som din koden: RS.Open tableName, yourAlreadyOpenConnection, adOpenKeySet, adLockOptimistic, adCmdTable RS.AddNew RS("domain") = domain RS("dot") = dot RS("password") = password RS.Update id = RS("id") Response.write ID
04. november 2002 - 22:14
#11
how glemte lige at rette denne linie til: RS.Open tableName, yourAlreadyOpenConnection, adOpenKeySet, adLockOptimistic, adCmdTable det skal være: RS.Open users, Conn, adOpenKeySet, adLockOptimistic, adCmdTable
04. november 2002 - 22:39
#12
tak for hælpen
Kurser inden for grundlæggende programmering