<participant>
     <quickSearch><![CDATA[MM_insert]]></quickSearch>
     <insertText location="aboveHTML+20">
<![CDATA[
<%
' *** Insert Record: construct a sql insert statement and execute it
MM_editAction = CStr(Request("URL"))
If (Request.QueryString <> "") Then
  MM_editAction = MM_editAction & "?" & Request.QueryString
End If
If (CStr(Request("MM_insert")) <> "") Then

  MM_tableName = "@@table@@"
  MM_fields = "@@elemStr@@"
  MM_redirectPage = "@@url@@"

  ' create the insert sql statement
  MM_tableValues = ""
  MM_dbValues = ""
  MM_fieldsArray = Split(MM_fields, ",")
  For i = LBound(MM_fieldsArray) To UBound(MM_fieldsArray) Step 5
    FormVal = CStr(Request.Form(MM_fieldsArray(i)))
    Delim = MM_fieldsArray(i+2)
    If (Delim = "none") Then Delim = ""
    AltVal = MM_fieldsArray(i+3)
    If (AltVal = "none") Then AltVal = ""
    EmptyVal = MM_fieldsArray(i+4)
    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_fieldsArray)) Then
      MM_tableValues = MM_tableValues & ","
      MM_dbValues = MM_dbValues & ","
    End if
    MM_tableValues = MM_tableValues & MM_fieldsArray(i+1)
    MM_dbValues = MM_dbValues & FormVal
  Next
  MM_insertStr = "insert into " & MM_tableName & " (" & MM_tableValues & ") values (" & MM_dbValues & ")"

  ' finish the sql and execute it
  Set MM_insertCmd = Server.CreateObject("ADODB.Command")
  MM_insertCmd.ActiveConnection = "@@conn@@"
  MM_insertCmd.CommandText = MM_insertStr
  MM_insertCmd.Execute

  ' redirect with URL parameters
  If (MM_redirectPage = "") Then
    MM_redirectPage = CStr(Request("URL"))
  End If
  If (InStr(1, MM_redirectPage, "?", vbTextCompare) = 0 And (Request.QueryString <> "")) Then
    MM_redirectPage = MM_redirectPage & "?" & Request.QueryString
  End If
  Call Response.Redirect(MM_redirectPage)
End If
%>
]]>
     </insertText>
     <searchPatterns whereToSearch="directive">
       <searchPattern paramNames="conn"><![CDATA[/ActiveConnection\s*=\s*"([^"]*)"/]]></searchPattern>
       <searchPattern paramNames="table"><![CDATA[/MM_tableName\s*=\s*"([^"]*)"/]]></searchPattern>
       <searchPattern paramNames="elemStr"><![CDATA[/MM_fields\s*=\s*"([^"]*)"/]]></searchPattern>
       <searchPattern paramNames="url"><![CDATA[/\sMM_redirectPage\s*=\s*"([^"]*)"/]]></searchPattern>
     </searchPatterns>
     <updatePatterns>
       <updatePattern paramName="conn"><![CDATA[/(ActiveConnection\s*=\s*")[^"]*(")/g]]></updatePattern>
       <updatePattern paramName="table"><![CDATA[/(MM_tableName\s*=\s*")[^"]*(")/g]]></updatePattern>
       <updatePattern paramName="elemStr"><![CDATA[/(MM_fields\s*=\s*")[^"]*(")/g]]></updatePattern>
       <updatePattern paramName="url"><![CDATA[/(\sMM_redirectPage\s*=\s*")[^"]*(")/g]]></updatePattern>
     </updatePatterns>
</participant>
