ch habe ein ASP welches die Datenätze verändert anzeigt zb: Aerosmith - Crazy_OK.mpg zu Aerosmith - Crazy.mpg usw.
So jetzt werden die Datensätze natürlich nur in der Ausgabe des ASP verändert und nicht in der Datenbank.
WIe kann ich jetzt das script so verändern, dass jeder Datensatz einzeln anwählbar ist und dass man sie verändern kann ( auch in der MDB). Nach der Veränderung soll ein POP Up erscheinen dass die erfolgreiche MDB veränderung gelungen ist.
Hier mein Script:
<% Option explicit %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <HTML> <HEAD> <TITLE> New Document </TITLE> <META NAME="Generator" CONTENT="EditPlus"> <META NAME="Author" CONTENT=""> <META NAME="Keywords" CONTENT=""> <META NAME="Description" CONTENT=""> </HEAD>
<BODY> <% Dim sConnectionString Dim oConn Dim sSQL Dim sreplace Dim oRS Dim sColor
set oConn = Server.CreateObject ("ADODB.Connection") sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =" & Server.MapPath ("Musikvideos.mdb") oConn.Open sConnectionString
oRS.Close set oRS = Nothing oConn.Close set oConn = Nothing %> </table> <br> <br> </BODY> </HTML>
Ich weiß bereits wei man einen Datensatz hinzufügt über einen Codeteil aber ich weiß nicht wie ich in einer Liste, wo alle Datensätze angeführt sind igendeinen Datensatz auswählen kann und dann verändern so dass er auch in der DB ( Access ) verändert wird:
Hier mein Anstz zum verändern von einem Datenstz:
'EINFÜGEN 'Insert-Statement über Execute-Methode ausführen
oConn.Execute "insert into t_Kategorie (ID_Kategorie, Kategorie) values (28, 'Test')"
'Ergebnis auslesen Set oRs = oConn.Execute ("select * from t_Kategorie where ID_Kategorie=28" ) Response.Write("<p>Kategorie eingefügt: " & oRs("ID_Kategorie") & ", " & oRs("Kategorie")) ' Recordset schließen oRs.Close Set oRs= Nothing
'LÖSCHEN ' den Eintrag wieder entfernen oConn.Execute "Delete From t_Kategorie where ID_Kategorie=28"
' Meldung des Löschvorganges Response.Write("<p>Kategorie gelöscht: Test")
'UPDATE oConn.Execute "insert into t_Kategorie (ID_Kategorie, Kategorie) values (29, 'Schlager')" oConn.Execute "Update t_Kategorie set Kategorie='Schlagermusik' where ID_Kategorie=29" Response.Write("<p>Kategorie neu und umbenannt: Schlagermusik") %
Das kannst du zB nach der Zeile "<tr bgcolor="<% =sColor %>">" einfügen.
Danach folgendes:
<% If request.querystring("action") = "delete" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute ("DELETE FROM t_Musikvideos WHERE ID = '"& id &"' LIMIT 1") End If %>
Probier mal das, dann kommst du vielleicht auf das andere auch schon dahinter.
<% If request.querystring("action") = "delete" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute ("DELETE FROM t_Musikvideos WHERE ID = '"& id &"' LIMIT 1") End If %>
oRS.Close set oRS = Nothing oConn.Close set oConn = Nothing %> </table> <br> <br> </BODY> </HTML>
If request.querystring("action") = "delete" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute ("DELETE FROM t_musikvideos WHERE ID = '"& id &"' LIMIT 1") End If
If request.querystring("action") = "edit" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute (" INSERT INTO t_musikvideos WHERE ID = '"& id &"' LIMIT 1") End If
%>
oRS.Close set oRS = Nothing oConn.Close set oConn = Nothing %> </table> <br> <br> </BODY> </HTML>
Also beim löschen bekomme ich folgenden Fehler:
Fehlertyp: Microsoft JET Database Engine (0x80040E14) Syntaxfehler (fehlender Operator) in Abfrageausdruck 'ID = '1' LIMIT 1'. /daba12_1.asp, line 71
und beim verändern folgenden
Fehlertyp: Microsoft JET Database Engine (0x80040E14) Syntaxfehler in der INSERT INTO-Anweisung. /daba12_1.asp, line 77
und wie kann ich ein Formular zum verändern machen
Fehlertyp: Microsoft JET Database Engine (0x80040E14) Syntaxfehler in der INSERT INTO-Anweisung. /daba12_1.asp, line 77
hier der code ausschnitt:
If request.querystring("action") = "edit" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute (" INSERT INTO t_musikvideos WHERE ID = '"& id &"' LIMIT 1") response.write SQL Set oRs = oConn.Execute (SQL)
und beim löschen diesen fehler
Fehlertyp: Microsoft JET Database Engine (0x80040E14) Syntaxfehler (fehlender Operator) in Abfrageausdruck 'ID = '1' LIMIT 1'. /daba12_1.asp, line 71
hier der codeausschnitt:
If request.querystring("action") = "delete" Then id = request.querystring("id") if IsNumeric(id) Then id = int(id) Else id = 0 Set oRs = oConn.Execute ("DELETE FROM t_musikvideos WHERE ID = '"& id &"' LIMIT 1") End If