03. marts 2005 - 09:31Der er
29 kommentarer og 1 løsning
if noget findes så skriv den findes
jeg har en form hvor man kan gemme nogle ting, det virker også fint nok, men nu vil jeg gerne have hvis prodcode allerede findes skal den sige det, så der ikke kommer 2 af samme prodcoder.
okay, så må du ind og og lede efter prodcode før du ligger denne ind...
Altså først et DB kald med "Select * From prodList where prodcode =" & Request.form("prodcode")....
også if(rs == null) // eller hvordan man nu tjekker om der findes noget i det recordset,kan ikke lige huske VB længere, men hvis der ikke er noget i recordsettet går du ind og rs.addNew...
hvis jeg skriver en prodcode som findes får jeg en fejl.
De ønskede ændringer af tabellen blev ikke gennemført, fordi de ville give dublerede værdier i indekset, den primære nøgle eller relationen. Rediger dataene i det eller de felter, der indeholder dublerede data, fjern indekset, eller omdefiner indekset, så dublerede indtastninger tillades, og forsøg igen.
Slut på sætning var ventet /flamingo_asp/prodadd1.asp, line 24, column 81 strSQL = "Select * From prodList where prodcode =" & Request.form("prodcode") rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
linie 24 strSQL = "Select * From prodList where prodcode =" & Request.form("prodcode") rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E07) [Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket. /flamingo_asp/prodadd1.asp, line 25
linie 25 er rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
kom bare med den her... sidder her kun for at fordrive tiden... fuck de points :).. men jeg er altså ikke skide godt til asp, arbejder mest med C# asp.net
ok her kommer en prodcode fra en form, hvor efter den bliver slettet i den kode du ser her. den skal så sige hvis den koden man har skrevet ikke findes.
<% Dim Conn, dbDelete, rs Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db.mdb") & ";UID=admin;PWD=;" dbDelete= "DELETE from prodlist where prodcode = '" & (Request.Form("prodcode"))& "' " Set rs = Conn.Execute(dbDelete)
hmmm vi gør det bare på samme lidt latterlige måde .. jeg ved nemlig ikke om rs. som en executenonquery i C# har en metode der returnerer rows affected. .... hold on..
Set rs = Server.CreateObject("ADODB.RecordSet") strSQL = "Select * From prodList where prodcode ='" & Request.form("prodcode")&"'" rs.Open strSQL, Conn, adOpenKeyset, adLockOptimistic
if RS.EOF then Response.Write("Findes ikke :)") else Dim Conn, dbDelete, rs Set Conn = Server.CreateObject("ADODB.Connection") Conn.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../db.mdb") & ";UID=admin;PWD=;" dbDelete= "DELETE from prodlist where prodcode = '" & (Request.Form("prodcode"))& "' " Set rs = Conn.Execute(dbDelete)
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.