home *** CD-ROM | disk | FTP | other *** search
- <%
- ' Substitute in form parameters into the query string
- fp_sQry = "[*]InsertSqlQuery[*]"
- fp_sDefault = "[*]InsertDefaultFields[*]"
- fp_iCurrent = 1
- fp_fError = False
- fp_bBlankField = False
- Do While (Not fp_fError) And (InStr(fp_iCurrent, fp_sQry, "%%") <> 0)
- ' found a opening quote, find the close quote
- fp_iStart = InStr(fp_iCurrent, fp_sQry, "%%")
- fp_iEnd = InStr(fp_iStart + 2, fp_sQry, "%%")
- If fp_iEnd = 0 Then
- fp_fError = True
- Response.Write "<B>Database Region Error: mismatched parameter delimiters</B>"
- Else
- fp_sField = Mid(fp_sQry, fp_iStart + 2, fp_iEnd - fp_iStart - 2)
- fp_sValue = Request.Form(fp_sField)
-
- ' if the named form field doesn't exist, make a note of it
- If (len(fp_sValue) = 0) Then
- fp_iCurrentField = 1
- fp_bFoundField = False
- Do While (InStr(fp_iCurrentField, fp_sDefault, fp_sField) <> 0) _
- And Not fp_bFoundField
- fp_iCurrentField = InStr(fp_iCurrentField, fp_sDefault, fp_sField)
- fp_iStartField = InStr(fp_iCurrentField, fp_sDefault, "=")
- If fp_iStartField = fp_iCurrentField + len(fp_sField) Then
- fp_iEndField = InStr(fp_iCurrentField, fp_sDefault, "&")
- If (fp_iEndField = 0) Then fp_iEndField = len(fp_sDefault) + 1
- fp_sValue = Mid(fp_sDefault, fp_iStartField+1, fp_iEndField-1)
- fp_bFoundField = True
- Else
- fp_iCurrentField = fp_iCurrentField + len(fp_sField) - 1
- End If
- Loop
- End If
-
- ' this next finds the named form field value, and substitutes in
- ' doubled single-quotes for all single quotes in the literal value
- ' so that SQL doesn't get confused by seeing unpaired single-quotes
- fp_sValue = Replace(Replace(fp_sValue, "'", "''"), """", """""")
-
- If (Mid(fp_sQry, fp_iStart - 1, 1) <> """") And _
- (Mid(fp_sQry, fp_iStart - 1, 1) <> "'") And _
- Not IsNumeric(fp_sValue) Then
- fp_sValue = ""
- End If
-
- If (len(fp_sValue) = 0) Then fp_bBlankField = True
-
- fp_sQry = Left(fp_sQry, fp_iStart - 1) + fp_sValue + _
- Right(fp_sQry, Len(fp_sQry) - fp_iEnd - 1)
-
- ' Fixup the new current position to be after the substituted value
- fp_iCurrent = fp_iStart + Len(fp_sValue)
- End If
- Loop
-
- If Not fp_fError Then
- ' Use the connection string directly as entered from the wizard
- On Error Resume Next
- set fp_rs = CreateObject("ADODB.Recordset")
- fp_rs.Open fp_sQry, "[*]InsertConnString[*]"
- If Err.Description <> "" Then
- Response.Write "<B>Database Error: " + Err.Description + "</B>"
- if fp_bBlankField Then
- Response.Write " One or more form fields were empty."
- End If
- Else
- ' Check for the no-record case
- If fp_rs.EOF And fp_rs.BOF Then
- Response.Write "<B>No Records Returned</B>"
- Else
- ' Start a while loop to fetch each record in the result set
- Do Until fp_rs.EOF
- %>
-