|
 |
 |

Frage: Wie kann ich eine Tabelle nachträglich mit ASP ändern (Spalten hinzufügen, löschen, ...) ? |
Sie können eigentlich jedes SQL-Statement ausführen, dass die von Ihnen verwendete Datenbank
interpretieren kann. So zum Beispiel auch DDL-Statements (Data Definition Language)
Hier sehen Sie ein Beispiel zum Erstellen einer Tabelle in einer Access-Datenbank:
[createtable.asp]
<%
' --- Fehlerbehandlung aktivieren
On Error Resume Next
' --- Datenbankverbindung aufbauen
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN", "UID", "PWD"
' --- Dieses SQL-Statement legt eine Tabelle mit dem Namen <tabelle>
' --- an. Die Tabelle erhält 2 Spalten, <spalte1> und <spalte2>, jeweils
' --- als Textfeld mit max. 50 Zeichen definiert
SQL = "CREATE TABLE <tabelle> (<spalte1> TEXT(50), <spalte2> TEXT(50))"
' --- Ausführen des SQL-Statements
objConn.Execute SQL
' --- Abfrage, ob ein Fehler aufgetreten ist
If Err <> 0 Then
Response.Write "Die Tabelle konnte nicht erstellt werden."
Else
Response.Write "Die Tabelle wurde erfolgreich erstellt."
End if
objConn.Close
Set objConn = Nothing
%>
Hier sehen Sie ein Beispiel zum Ändern einer Tabelle in einer Access-Datenbank. Es wird eine neue Spalte eingefügt.
[addcolumn.asp]
<%
' --- Fehlerbehandlung aktivieren
On Error Resume Next
' --- Datenbankverbindung aufbauen
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN", "UID", "PWD"
' --- Dieses SQL-Statement legt eine neue Spalte mit dem Namen <spalte3>
' --- vom Typ TEXT (max. 50 Zeichen) in der Tabelle <tabelle> an.
SQL = "ALTER TABLE <tabelle> ADD COLUMN <spalte3> TEXT(50)"
' --- Ausführen des SQL-Statements
objConn.Execute SQL
' --- Abfrage, ob ein Fehler aufgetreten ist
If Err <> 0 Then
Response.Write "Die Spalte konnte nicht eingefügt werden."
Else
Response.Write "Die Spalte wurde erfolgreich eingefügt."
End if
objConn.Close
Set objConn = Nothing
%>
Hier sehen Sie ein Beispiel zum Ändern einer Tabelle in einer Access-Datenbank. Es wird eine Spalte gelöscht.
[dropcolumn.asp]
<%
' --- Fehlerbehandlung aktivieren
On Error Resume Next
' --- Datenbankverbindung aufbauen
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN", "UID", "PWD"
' --- Dieses SQL-Statement löscht die Spalte <spalte2> aus der Tabelle <tabelle>.
SQL = "ALTER TABLE <tabelle> DROP COLUMN <spalte2>"
' --- Ausführen des SQL-Statements
objConn.Execute SQL
' --- Abfrage, ob ein Fehler aufgetreten ist
If Err <> 0 Then
Response.Write "Die Spalte konnte nicht gelöscht werden."
Else
Response.Write "Die Spalte wurde erfolgreich gelöscht."
End if
objConn.Close
Set objConn = Nothing
%> Hier sehen Sie ein Beispiel zum Ändern einer Tabelle in einer Access-Datenbank. Es wird der Datentyp einer Spalte geändert.
[altercolumn.asp]
<%
' --- Fehlerbehandlung aktivieren
On Error Resume Next
' --- Datenbankverbindung aufbauen
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open "DSN", "UID", "PWD"
' --- Dieses SQL-Statement ändert den Datentyp der Spalte <spalte3>
' --- vom Typ TEXT (max. 50 Zeichen) in DATETIME (Datum/Uhrzeit).
' --- Man sollte hierbei aber beachten, dass bei Datentypänderungen
' --- Werte, die nicht mit dem neuen Typ vetrtäglich sind, gelöscht werden.
SQL = "ALTER TABLE <tabelle> ALTER COLUMN <spalte3> DATETIME"
' --- Ausführen des SQL-Statements
objConn.Execute SQL
' --- Abfrage, ob ein Fehler aufgetreten ist
If Err <> 0 Then
Response.Write "Die Spalte konnte nicht geändert werden."
Else
Response.Write "Die Spalte wurde erfolgreich geändert."
End if
objConn.Close
Set objConn = Nothing
%> |
|
 |
 |
|
|