%
'=============================================================================
' FILE: save_network_device.asp
' PURPOSE: Universal save endpoint for all network devices (IDF, Server, Switch, Camera, Access Point)
' SECURITY: Parameterized queries, HTML encoding, input validation
' UPDATED: 2025-10-27 - Migrated to secure patterns
'=============================================================================
%>
<%
' Universal save endpoint for all network devices (IDF, Server, Switch, Camera)
' Routes to appropriate table based on device type
' Get device type and ID
Dim deviceType, deviceId, isDelete
deviceType = Trim(Request.Form("type"))
deviceId = Trim(Request.Form("id"))
isDelete = Trim(Request.Form("delete"))
' Validate device type
If deviceType <> "idf" And deviceType <> "server" And deviceType <> "switch" And deviceType <> "camera" And deviceType <> "accesspoint" Then
Response.Write("
Error: Invalid device type
")
Response.Write("Back to Network Devices")
objConn.Close
Response.End
End If
' Validate device ID
If deviceId = "" Then deviceId = "0"
If Not IsNumeric(deviceId) Then
Response.Write("Error: Invalid device ID
")
Response.Write("Back to Network Devices")
objConn.Close
Response.End
End If
' Map type to table and fields
Dim tableName, idField, nameField, redirectUrl
Select Case deviceType
Case "idf"
tableName = "idfs"
idField = "idfid"
nameField = "idfname"
redirectUrl = "network_devices.asp?filter=IDF"
Case "server"
tableName = "servers"
idField = "serverid"
nameField = "servername"
redirectUrl = "network_devices.asp?filter=Server"
Case "switch"
tableName = "switches"
idField = "switchid"
nameField = "switchname"
redirectUrl = "network_devices.asp?filter=Switch"
Case "camera"
tableName = "cameras"
idField = "cameraid"
nameField = "cameraname"
redirectUrl = "network_devices.asp?filter=Camera"
Case "accesspoint"
tableName = "accesspoints"
idField = "apid"
nameField = "apname"
redirectUrl = "network_devices.asp?filter=Access Point"
End Select
' Handle DELETE request
If isDelete = "1" Then
' Soft delete - set isactive = 0 using parameterized query
Dim strDelete, cmdDelete
strDelete = "UPDATE " & tableName & " SET isactive = 0 WHERE " & idField & " = ?"
Set cmdDelete = Server.CreateObject("ADODB.Command")
cmdDelete.ActiveConnection = objConn
cmdDelete.CommandText = strDelete
cmdDelete.CommandType = 1
cmdDelete.Parameters.Append cmdDelete.CreateParameter("@deviceid", 3, 1, , CLng(deviceId))
cmdDelete.Execute
Set cmdDelete = Nothing
objConn.Close
Response.Redirect(redirectUrl)
Response.End
End If
' Get form data
Dim deviceName, description, maptop, mapleft, isactiveForm
deviceName = Trim(Request.Form(nameField))
description = Trim(Request.Form("description"))
maptop = Trim(Request.Form("maptop"))
mapleft = Trim(Request.Form("mapleft"))
isactiveForm = Trim(Request.Form("isactive"))
' Handle isactive - checkbox: checked=1, unchecked=empty string
' Default to 0 (inactive) if not provided (unchecked)
If isactiveForm = "1" Then
isactiveForm = "1"
Else
isactiveForm = "0"
End If
' Validate name field (required for all)
If deviceName = "" Then
Response.Write("Error: " & UCase(Left(nameField, 1)) & Mid(nameField, 2) & " is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Validate field lengths
If Len(deviceName) > 100 Or Len(description) > 255 Then
Response.Write("Error: Field length exceeded
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle NULL values for optional numeric fields
Dim maptopValue, mapleftValue
If maptop = "" Or Not IsNumeric(maptop) Then
maptopValue = Null
Else
maptopValue = CLng(maptop)
End If
If mapleft = "" Or Not IsNumeric(mapleft) Then
mapleftValue = Null
Else
mapleftValue = CLng(mapleft)
End If
' Build SQL based on device type
Dim strSQL, cmdDevice
If deviceType = "idf" Then
' IDF - no model/vendor
If deviceId = "0" Then
' INSERT using parameterized query
strSQL = "INSERT INTO idfs (idfname, description, maptop, mapleft, isactive) VALUES (?, ?, ?, ?, ?)"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@idfname", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
cmdDevice.Execute
Set cmdDevice = Nothing
Else
' UPDATE using parameterized query
strSQL = "UPDATE idfs SET idfname = ?, description = ?, maptop = ?, mapleft = ?, isactive = ? WHERE idfid = ?"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@idfname", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@idfid", 3, 1, , CLng(deviceId))
cmdDevice.Execute
Set cmdDevice = Nothing
End If
objConn.Close
Response.Redirect(redirectUrl)
ElseIf deviceType = "server" Or deviceType = "switch" Or deviceType = "accesspoint" Then
' Server/Switch/Access Point - has modelid but NO idfid
Dim modelid, serialnumber, ipaddress
modelid = Trim(Request.Form("modelid"))
serialnumber = Trim(Request.Form("serialnumber"))
ipaddress = Trim(Request.Form("ipaddress"))
' Handle new model creation
If modelid = "new" Then
Dim newmodelnumber, newvendorid, newmodelnotes, newmodeldocpath, newvendorname
newmodelnumber = Trim(Request.Form("newmodelnumber"))
newvendorid = Trim(Request.Form("newvendorid"))
newmodelnotes = Trim(Request.Form("newmodelnotes"))
newmodeldocpath = Trim(Request.Form("newmodeldocpath"))
newvendorname = Trim(Request.Form("newvendorname"))
' Validate required fields for new model
If newmodelnumber = "" Then
Response.Write("Error: Model number is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
If newvendorid = "" Then
Response.Write("Error: Vendor is required for new model
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle new vendor creation (nested)
If newvendorid = "new" Then
If newvendorname = "" Then
Response.Write("Error: Vendor name is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Insert new vendor using parameterized query
Dim sqlNewVendor, cmdNewVendor
sqlNewVendor = "INSERT INTO vendors (vendor, isactive) VALUES (?, 1)"
Set cmdNewVendor = Server.CreateObject("ADODB.Command")
cmdNewVendor.ActiveConnection = objConn
cmdNewVendor.CommandText = sqlNewVendor
cmdNewVendor.CommandType = 1
cmdNewVendor.Parameters.Append cmdNewVendor.CreateParameter("@vendor", 200, 1, 50, newvendorname)
On Error Resume Next
cmdNewVendor.Execute
If Err.Number <> 0 Then
Response.Write("Error creating vendor: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdNewVendor = Nothing
objConn.Close
Response.End
End If
' Get newly created vendor ID
Dim rsNewVendor
Set rsNewVendor = objConn.Execute("SELECT LAST_INSERT_ID() AS newid")
newvendorid = rsNewVendor("newid")
rsNewVendor.Close
Set rsNewVendor = Nothing
Set cmdNewVendor = Nothing
On Error Goto 0
End If
' Insert new model using parameterized query
Dim sqlNewModel, cmdNewModel
sqlNewModel = "INSERT INTO models (modelnumber, vendorid, notes, documentationpath, isactive) VALUES (?, ?, ?, ?, 1)"
Set cmdNewModel = Server.CreateObject("ADODB.Command")
cmdNewModel.ActiveConnection = objConn
cmdNewModel.CommandText = sqlNewModel
cmdNewModel.CommandType = 1
cmdNewModel.Parameters.Append cmdNewModel.CreateParameter("@modelnumber", 200, 1, 50, newmodelnumber)
cmdNewModel.Parameters.Append cmdNewModel.CreateParameter("@vendorid", 3, 1, , CLng(newvendorid))
cmdNewModel.Parameters.Append cmdNewModel.CreateParameter("@notes", 200, 1, 500, newmodelnotes)
cmdNewModel.Parameters.Append cmdNewModel.CreateParameter("@documentationpath", 200, 1, 500, newmodeldocpath)
On Error Resume Next
cmdNewModel.Execute
If Err.Number <> 0 Then
Response.Write("Error creating model: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdNewModel = Nothing
objConn.Close
Response.End
End If
' Get newly created model ID
Dim rsNewModel
Set rsNewModel = objConn.Execute("SELECT LAST_INSERT_ID() AS newid")
modelid = rsNewModel("newid")
rsNewModel.Close
Set rsNewModel = Nothing
Set cmdNewModel = Nothing
On Error Goto 0
' Handle NULL/empty modelid
ElseIf modelid = "" Or Not IsNumeric(modelid) Then
modelid = "NULL"
Else
modelid = CLng(modelid)
End If
' Validate lengths
If Len(serialnumber) > 100 Or Len(ipaddress) > 45 Then
Response.Write("Error: Field length exceeded
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle NULL modelid
Dim modelidValue
If modelid = "NULL" Then
modelidValue = Null
Else
modelidValue = CLng(modelid)
End If
If deviceId = "0" Then
' INSERT using parameterized query
strSQL = "INSERT INTO " & tableName & " (" & nameField & ", modelid, serialnumber, ipaddress, description, maptop, mapleft, isactive) VALUES (?, ?, ?, ?, ?, ?, ?, ?)"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@devicename", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@modelid", 3, 1, , modelidValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@serialnumber", 200, 1, 100, serialnumber)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@ipaddress", 200, 1, 45, ipaddress)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
cmdDevice.Execute
Set cmdDevice = Nothing
Else
' UPDATE using parameterized query
strSQL = "UPDATE " & tableName & " SET " & nameField & " = ?, modelid = ?, serialnumber = ?, ipaddress = ?, description = ?, maptop = ?, mapleft = ?, isactive = ? WHERE " & idField & " = ?"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@devicename", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@modelid", 3, 1, , modelidValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@serialnumber", 200, 1, 100, serialnumber)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@ipaddress", 200, 1, 45, ipaddress)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@deviceid", 3, 1, , CLng(deviceId))
cmdDevice.Execute
Set cmdDevice = Nothing
End If
objConn.Close
Response.Redirect(redirectUrl)
ElseIf deviceType = "camera" Then
' Camera - has modelid, idfid, AND macaddress
Dim cameraModelid, cameraIdfid, cameraSerial, cameraMac, cameraIP
cameraModelid = Trim(Request.Form("modelid"))
cameraIdfid = Trim(Request.Form("idfid"))
cameraSerial = Trim(Request.Form("serialnumber"))
cameraMac = Trim(Request.Form("macaddress"))
cameraIP = Trim(Request.Form("ipaddress"))
' Handle new IDF creation for camera
If cameraIdfid = "new" Then
Dim cameraNewidfname, cameraNewidfdescription
cameraNewidfname = Trim(Request.Form("newidfname"))
cameraNewidfdescription = Trim(Request.Form("newidfdescription"))
' Validate required fields for new IDF
If cameraNewidfname = "" Then
Response.Write("Error: IDF name is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Insert new IDF using parameterized query
Dim cameraSqlNewIdf, cmdNewIdfCamera
cameraSqlNewIdf = "INSERT INTO idfs (idfname, description, isactive) VALUES (?, ?, 1)"
Set cmdNewIdfCamera = Server.CreateObject("ADODB.Command")
cmdNewIdfCamera.ActiveConnection = objConn
cmdNewIdfCamera.CommandText = cameraSqlNewIdf
cmdNewIdfCamera.CommandType = 1
cmdNewIdfCamera.Parameters.Append cmdNewIdfCamera.CreateParameter("@idfname", 200, 1, 100, cameraNewidfname)
cmdNewIdfCamera.Parameters.Append cmdNewIdfCamera.CreateParameter("@description", 200, 1, 255, cameraNewidfdescription)
On Error Resume Next
cmdNewIdfCamera.Execute
If Err.Number <> 0 Then
Response.Write("Error creating IDF: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdNewIdfCamera = Nothing
objConn.Close
Response.End
End If
' Get newly created IDF ID
Dim rsNewIdfCamera
Set rsNewIdfCamera = objConn.Execute("SELECT LAST_INSERT_ID() AS newid")
cameraIdfid = CLng(rsNewIdfCamera("newid"))
rsNewIdfCamera.Close
Set rsNewIdfCamera = Nothing
Set cmdNewIdfCamera = Nothing
On Error Goto 0
End If
' Validate required idfid for cameras
If cameraIdfid = "" Or Not IsNumeric(cameraIdfid) Or CLng(cameraIdfid) < 1 Then
Response.Write("Error: IDF location is required for cameras
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle new model creation for camera
If cameraModelid = "new" Then
Dim cameraNewmodelnumber, cameraNewvendorid, cameraNewmodelnotes, cameraNewmodeldocpath, cameraNewvendorname
cameraNewmodelnumber = Trim(Request.Form("newmodelnumber"))
cameraNewvendorid = Trim(Request.Form("newvendorid"))
cameraNewmodelnotes = Trim(Request.Form("newmodelnotes"))
cameraNewmodeldocpath = Trim(Request.Form("newmodeldocpath"))
cameraNewvendorname = Trim(Request.Form("newvendorname"))
' Validate required fields for new model
If cameraNewmodelnumber = "" Then
Response.Write("Error: Model number is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
If cameraNewvendorid = "" Then
Response.Write("Error: Vendor is required for new model
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle new vendor creation (nested)
If cameraNewvendorid = "new" Then
If cameraNewvendorname = "" Then
Response.Write("Error: Vendor name is required
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Insert new vendor using parameterized query
Dim cameraSqlNewVendor, cmdNewVendorCamera
cameraSqlNewVendor = "INSERT INTO vendors (vendor, isactive) VALUES (?, 1)"
Set cmdNewVendorCamera = Server.CreateObject("ADODB.Command")
cmdNewVendorCamera.ActiveConnection = objConn
cmdNewVendorCamera.CommandText = cameraSqlNewVendor
cmdNewVendorCamera.CommandType = 1
cmdNewVendorCamera.Parameters.Append cmdNewVendorCamera.CreateParameter("@vendor", 200, 1, 50, cameraNewvendorname)
On Error Resume Next
cmdNewVendorCamera.Execute
If Err.Number <> 0 Then
Response.Write("Error creating vendor: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdNewVendorCamera = Nothing
objConn.Close
Response.End
End If
' Get newly created vendor ID
Dim rsNewVendorCamera
Set rsNewVendorCamera = objConn.Execute("SELECT LAST_INSERT_ID() AS newid")
cameraNewvendorid = rsNewVendorCamera("newid")
rsNewVendorCamera.Close
Set rsNewVendorCamera = Nothing
Set cmdNewVendorCamera = Nothing
On Error Goto 0
End If
' Insert new model using parameterized query
Dim cameraSqlNewModel, cmdNewModelCamera
cameraSqlNewModel = "INSERT INTO models (modelnumber, vendorid, notes, documentationpath, isactive) VALUES (?, ?, ?, ?, 1)"
Set cmdNewModelCamera = Server.CreateObject("ADODB.Command")
cmdNewModelCamera.ActiveConnection = objConn
cmdNewModelCamera.CommandText = cameraSqlNewModel
cmdNewModelCamera.CommandType = 1
cmdNewModelCamera.Parameters.Append cmdNewModelCamera.CreateParameter("@modelnumber", 200, 1, 50, cameraNewmodelnumber)
cmdNewModelCamera.Parameters.Append cmdNewModelCamera.CreateParameter("@vendorid", 3, 1, , CLng(cameraNewvendorid))
cmdNewModelCamera.Parameters.Append cmdNewModelCamera.CreateParameter("@notes", 200, 1, 500, cameraNewmodelnotes)
cmdNewModelCamera.Parameters.Append cmdNewModelCamera.CreateParameter("@documentationpath", 200, 1, 500, cameraNewmodeldocpath)
On Error Resume Next
cmdNewModelCamera.Execute
If Err.Number <> 0 Then
Response.Write("Error creating model: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdNewModelCamera = Nothing
objConn.Close
Response.End
End If
' Get newly created model ID
Dim rsNewModelCamera
Set rsNewModelCamera = objConn.Execute("SELECT LAST_INSERT_ID() AS newid")
cameraModelid = rsNewModelCamera("newid")
rsNewModelCamera.Close
Set rsNewModelCamera = Nothing
Set cmdNewModelCamera = Nothing
On Error Goto 0
' Handle NULL modelid
ElseIf cameraModelid = "" Or Not IsNumeric(cameraModelid) Then
cameraModelid = "NULL"
Else
cameraModelid = CLng(cameraModelid)
End If
' Validate lengths
If Len(cameraSerial) > 100 Or Len(cameraMac) > 17 Or Len(cameraIP) > 45 Then
Response.Write("Error: Field length exceeded
")
Response.Write("Go back")
objConn.Close
Response.End
End If
' Handle NULL camera modelid
Dim cameraModelidValue
If cameraModelid = "NULL" Then
cameraModelidValue = Null
Else
cameraModelidValue = CLng(cameraModelid)
End If
If deviceId = "0" Then
' INSERT using parameterized query
strSQL = "INSERT INTO cameras (cameraname, modelid, idfid, serialnumber, macaddress, ipaddress, description, maptop, mapleft, isactive) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@cameraname", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@modelid", 3, 1, , cameraModelidValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@idfid", 3, 1, , CLng(cameraIdfid))
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@serialnumber", 200, 1, 100, cameraSerial)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@macaddress", 200, 1, 17, cameraMac)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@ipaddress", 200, 1, 45, cameraIP)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
On Error Resume Next
cmdDevice.Execute
If Err.Number <> 0 Then
Response.Write("Error saving camera: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdDevice = Nothing
objConn.Close
Response.End
End If
Set cmdDevice = Nothing
On Error Goto 0
Else
' UPDATE using parameterized query
strSQL = "UPDATE cameras SET cameraname = ?, modelid = ?, idfid = ?, serialnumber = ?, macaddress = ?, ipaddress = ?, description = ?, maptop = ?, mapleft = ?, isactive = ? WHERE cameraid = ?"
Set cmdDevice = Server.CreateObject("ADODB.Command")
cmdDevice.ActiveConnection = objConn
cmdDevice.CommandText = strSQL
cmdDevice.CommandType = 1
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@cameraname", 200, 1, 100, deviceName)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@modelid", 3, 1, , cameraModelidValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@idfid", 3, 1, , CLng(cameraIdfid))
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@serialnumber", 200, 1, 100, cameraSerial)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@macaddress", 200, 1, 17, cameraMac)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@ipaddress", 200, 1, 45, cameraIP)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@description", 200, 1, 255, description)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@maptop", 3, 1, , maptopValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@mapleft", 3, 1, , mapleftValue)
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@isactive", 3, 1, , CInt(isactiveForm))
cmdDevice.Parameters.Append cmdDevice.CreateParameter("@cameraid", 3, 1, , CLng(deviceId))
On Error Resume Next
cmdDevice.Execute
If Err.Number <> 0 Then
Response.Write("Error updating camera: " & Server.HTMLEncode(Err.Description) & "
")
Response.Write("Go back")
Set cmdDevice = Nothing
objConn.Close
Response.End
End If
Set cmdDevice = Nothing
On Error Goto 0
End If
End If
' Success - redirect to list
objConn.Close
Response.Redirect(redirectUrl)
%>