Hi all
I have 'inherited' a half finished training database web application created using Dreamweaver Ultradev and MS Access 2000.
I have a page that allows a user to book on a course - they log in first (they have a unique ID) and their details are picked up and passed to the booking form, where they add some details and submit to a table called 'CourseBooking'
At the moment it allows the user to book the same course multiple times as it doesnt check if the combination of traineeID and CourseID already exist in the 'CourseBooking' table.
I'm not used to using ultradev or MX - would normally code using classic ASP.
Very grateful if anyone can help with how to code a check before insertion?
The insert part looks as follows:
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) <> "") Then
MM_editConnection = MM_training_STRING
MM_editTable = "CourseBooking"
MM_editRedirectUrl = "confirmbooking.asp"
MM_fieldsStr = "txtTraineeID|value|txtCourseID|value|txtPMExperience|value|txtCurrentProject|value|txtBenefits|value|txtGains|value"
MM_columnsStr = "TraineeId|none,none,NULL|CourseID|none,none,NULL|PMExperience|',none,''|CurrentProject|',none,''|Benefits|',none,''|Gains|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & FormVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim rstCourse__MMColParam
rstCourse__MMColParam = "1"
if (Request.QueryString("CourseID") <> "") then rstCourse__MMColParam = Request.QueryString("CourseId")
%>
I have 'inherited' a half finished training database web application created using Dreamweaver Ultradev and MS Access 2000.
I have a page that allows a user to book on a course - they log in first (they have a unique ID) and their details are picked up and passed to the booking form, where they add some details and submit to a table called 'CourseBooking'
At the moment it allows the user to book the same course multiple times as it doesnt check if the combination of traineeID and CourseID already exist in the 'CourseBooking' table.
I'm not used to using ultradev or MX - would normally code using classic ASP.
Very grateful if anyone can help with how to code a check before insertion?
The insert part looks as follows:
' *** Insert Record: set variables
If (CStr(Request("MM_insert")) <> "") Then
MM_editConnection = MM_training_STRING
MM_editTable = "CourseBooking"
MM_editRedirectUrl = "confirmbooking.asp"
MM_fieldsStr = "txtTraineeID|value|txtCourseID|value|txtPMExperience|value|txtCurrentProject|value|txtBenefits|value|txtGains|value"
MM_columnsStr = "TraineeId|none,none,NULL|CourseID|none,none,NULL|PMExperience|',none,''|CurrentProject|',none,''|Benefits|',none,''|Gains|',none,''"
' create the MM_fields and MM_columns arrays
MM_fields = Split(MM_fieldsStr, "|")
MM_columns = Split(MM_columnsStr, "|")
' set the form values
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
MM_fields(i+1) = CStr(Request.Form(MM_fields(i)))
Next
' append the query string to the redirect URL
If (MM_editRedirectUrl <> "" And Request.QueryString <> "") Then
If (InStr(1, MM_editRedirectUrl, "?", vbTextCompare) = 0 And Request.QueryString <> "") Then
MM_editRedirectUrl = MM_editRedirectUrl & "?" & Request.QueryString
Else
MM_editRedirectUrl = MM_editRedirectUrl & "&" & Request.QueryString
End If
End If
End If
%>
<%
' *** Insert Record: construct a sql insert statement and execute it
If (CStr(Request("MM_insert")) <> "") Then
' create the sql insert statement
MM_tableValues = ""
MM_dbValues = ""
For i = LBound(MM_fields) To UBound(MM_fields) Step 2
FormVal = MM_fields(i+1)
MM_typeArray = Split(MM_columns(i+1),",")
Delim = MM_typeArray(0)
If (Delim = "none") Then Delim = ""
AltVal = MM_typeArray(1)
If (AltVal = "none") Then AltVal = ""
EmptyVal = MM_typeArray(2)
If (EmptyVal = "none") Then EmptyVal = ""
If (FormVal = "") Then
FormVal = EmptyVal
Else
If (AltVal <> "") Then
FormVal = AltVal
ElseIf (Delim = "'") Then ' escape quotes
FormVal = "'" & Replace(FormVal,"'","''") & "'"
Else
FormVal = Delim + FormVal + Delim
End If
End If
If (i <> LBound(MM_fields)) Then
MM_tableValues = MM_tableValues & ","
MM_dbValues = MM_dbValues & ","
End if
MM_tableValues = MM_tableValues & MM_columns(i)
MM_dbValues = MM_dbValues & FormVal
Next
MM_editQuery = "insert into " & MM_editTable & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"
If (Not MM_abortEdit) Then
' execute the insert
Set MM_editCmd = Server.CreateObject("ADODB.Command")
MM_editCmd.ActiveConnection = MM_editConnection
MM_editCmd.CommandText = MM_editQuery
MM_editCmd.Execute
MM_editCmd.ActiveConnection.Close
If (MM_editRedirectUrl <> "") Then
Response.Redirect(MM_editRedirectUrl)
End If
End If
End If
%>
<%
Dim rstCourse__MMColParam
rstCourse__MMColParam = "1"
if (Request.QueryString("CourseID") <> "") then rstCourse__MMColParam = Request.QueryString("CourseId")
%>