%@Language=VBScript%>
<%
Option Explicit
Response.Buffer = True
Dim MyConn ' Database connection object
Dim RS ' Recordset object
Dim Fld ' Field object
Dim Connect_String ' ADO Connection String
Dim SQL ' SQL Statement
Dim Page_Size ' Number of records per page
Dim StartPage ' The page that we are starting on
Dim Current_Page ' The current page that we are on
Dim Page_Count ' Total pages
Dim CssClass ' Style Sheet file
Dim CellValue ' data value
Dim intRowCount ' Total rows
Dim i
Dim j
Dim sPos
Dim iData
Dim iRealData
Dim iStrData
Dim iOpt
Dim Qry_String
Dim NavQry_String
Dim Filter_String
Dim Err_String
Dim SearchArray
Dim SearchIndex
Dim MultiSearch
Dim QuoteChar
Dim QuoteDate
Dim Fields
Dim NextSorting
Dim StdSearchOpt
Dim SearchEndKey
Dim FldCount
Dim ItemValue
Dim CurrentRow_String
Dim StartStrData
Dim EndStrData
Dim StrKeyWord
Dim PageSecureLevel
Dim SortString
Dim ArryItemValue(4)
Dim ArryOpt(4)
%>
<%
Err_String = ""
On Error Resume next
Set MyConn=Server.CreateObject("ADODB.Connection")
Set RS=Server.CreateObject("ADODB.RecordSet")
MyConn.Open Connect_String
if err <> 0 then
Err_String = Err_String& "Error:while connecting to database
"
Err_String = Err_String& "Description:" & err.description & "
"
err = 0
end if
SQL = ""
SQL = SQL + " Select"
SQL = SQL + " `Table`.`Current Bill`,"
SQL = SQL + " `Table`.`5 Year Savings`,"
SQL = SQL + " `Table`.`10 Year Savings`,"
SQL = SQL + " `Table`.`15 Year Savings`,"
SQL = SQL + " (`Table`.`Current Bill` * 60)*.40 As `5 Year Savings`,"
SQL = SQL + " (`Table`.`Current Bill` * 120)*.40 As `10 Year Savings`,"
SQL = SQL + " (`Table`.`Current Bill` * 180)*.40 As `15 Year Savings`"
SQL = SQL + " From"
SQL = SQL + " `Table` `Table`"
RS.Open SQL, MyConn, 3, 1, 1
if request.Form("QS_Submit") <> "" then
if err <> 0 then
Err_String = Err_String& "Error:While opening recordset.
"
Err_String = Err_String& "Description:" & err.description & "
"
err = 0
end if
Qry_String = ""
i = 0
for each Fld in RS.Fields
if (request("search_fd"&i) <> "") and (request("search_fd"&i) <> "*") then
iData = request("search_fd"&i)
if Len(iData) > 1 then
sPos = InStr(2,iData,"*",1)
if sPos > 1 then
iData = Left(iData,Len(iData) - (Len(iData) - sPos + 1))
end if
end if
iRealData = iData
if (request("search_optfd"&i) <> "") then
iData = request("search_optfd"&i) & iData
end if
iOpt = Left(iData,2)
if (iOpt = "<=") or (iOpt = "=<") then
iOpt = "<="
iRealData = Right(iData,Len(iData) - 2)
elseif (iOpt = ">=") or (iOpt = "=>") then
iOpt = ">="
iRealData = Right(iData,Len(iData) - 2)
elseif iOpt = "==" then
iOpt = "="
iRealData = Right(iData,Len(iData) - 2)
elseif iOpt = "<>" then
iRealData = Right(iData,Len(iData) - 2)
elseif iOpt = "^^" then ' Contain Case
iOpt = "*"
iData = iOpt & iRealData & iOpt
elseif iOpt = "^*" then ' Start With Case
iOpt = "*"
iData = iRealData & iOpt
elseif iOpt = "*^" then ' End With Case
iOpt = "*"
iData = iOpt & iRealData
else
iOpt = Left(iData,1)
if (iOpt = "<") or (iOpt = ">") or (iOpt = "=") then
iRealData = Right(iData,Len(iData) - 1)
else
iOpt = "="
end if
end if
if Lcase(iData) = "{current date and time}" then
iData = Now
elseif Lcase(iData) = "{current date}" then
iData = Date
elseif Lcase(iData) = "{current time}" then
iData = Time
end if
select case Fld.Type
case adBoolean
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
case adLongVarBinary
'noop
case adDBDate, adDBTime, adDate, adDBTimeStamp, adFileTime
if isDate(iRealData) then
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
else
Err_String = Err_String& "Error:while searching." & Fld.name & ".
"
Err_String = Err_String& "Description: Invalid DateTime.
"
end if
case adBigInt, adUnsignedBigInt, adTinyInt, adSmallInt, adError, adInteger, adUnsignedInt, adUnsignedTinyInt, adUnsignedSmallInt, adDecimal, adNumeric, adVarNumeric
if isNumeric(iRealData) then
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
else
Err_String = Err_String& "Error:while searching." & Fld.name & ".
"
Err_String = Err_String& "Description: Type mismatch.
"
end if
case adSingle, adDouble, adCurrency
if isNumeric(iRealData) then
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
else
Err_String = Err_String& "Error:while searching." & Fld.name & ".
"
Err_String = Err_String& "Description: Type mismatch.
"
end if
case adChar, adVarChar, adLongVarChar, adWChar, adVarWChar, adLongVarWChar
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
case else
if Qry_String = "" Then
Qry_String = "search_fd"&i&"=" & iData
else
Qry_String = Qry_String & "&search_fd"&i&"=" & iData
end if
end select
if (request("multisearch_fd"&i) <> "") then
if Qry_String = "" Then
Qry_String = "multisearch_fd"&i&"=" & request("multisearch_fd"&i)
else
Qry_String = Qry_String & "&multisearch_fd"&i&"=" & request("multisearch_fd"&i)
end if
end if
if err <> 0 then
Err_String = Err_String& "Error:while searching." & Fld.name & ".
"
Err_String = Err_String& "Description:" & err.description & "
"
err = 0
end if
end if
i = i + 1
next
if err <> 0 then
Err_String = Err_String& "Error:while searching.
"
Err_String = Err_String& "Description:" & err.description & "
"
err = 0
end if
if (request("search_sort") <> "") then
SortString = request("search_sort")
end if
RS.Close
Set RS = Nothing
MyConn.Close
Set MyConn = Nothing
if Err_String = "" then
Response.Clear
Response.Redirect("./gravina energy.asp?"&Qry_String&SortString)
end if
else
FldCount = RS.Fields.Count
ReDim ArryItemValue(4)
ReDim ArryOpt(4)
SortString = ""
if (request("SortField") <> "") then
SortString = "&SortField=" & request("SortField") & "&SortBy=" & request("SortBy")
end if
i=0
Do While (i<=FldCount)
if isEmpty(request("search_fd" & i)) then
ArryItemValue(i) = ""
ArryOpt(i) =""
else
' Check value for advance search
iData = request("search_fd" & i)
iOpt = Left(request("search_fd" & i),2)
if (iOpt = "<=") or (iOpt = "=<") then
iOpt = "<="
StrKeyWord = Right(iData,Len(iData) - 2)
elseif (iOpt = ">=") or (iOpt = "=>") then
iOpt = ">="
StrKeyWord = Right(iData,Len(iData) - 2)
elseif (iOpt = "==") then
iOpt = "=="
StrKeyWord = Right(iData,Len(iData) - 2)
elseif (iOpt = "<>") then
StrKeyWord = Right(iData,Len(iData) - 2)
else
' Check Contain
StartStrData = Mid(request("search_fd" & i),1,1) ' Get starting string
EndStrData = Mid(request("search_fd" & i), Len(request("search_fd" & i))) ' Get last string
if ((StartStrData <> "*" ) AND (EndStrData <> "*")) then
if ((StartStrData = "<") OR (StartStrData = ">") OR (StartStrData = "=")) then
if (StartStrData = "<") then
StrKeyWord = Replace(request("search_fd" & i),"<","",1,1,1)
iOpt = "<"
elseif (StartStrData = ">") then
StrKeyWord = Replace(request("search_fd" & i),">","",1,1,1)
iOpt = ">"
else
StrKeyWord = Replace(request("search_fd" & i),"=","",1,1,1)
iOpt = "="
end if
else
StrKeyWord = request("search_fd"&i)
end if
else
if ((StartStrData = "*" ) AND (EndStrData = "*")) then
StartStrData = Replace(request("search_fd" & i),"*","",1,1,1)
StrKeyWord = Mid(StartStrData,1, Len(StartStrData)-1)
iOpt = "^^"
elseif ((StartStrData <> "*" ) AND (EndStrData = "*")) then ' Start With Case xx*
StrKeyWord = Mid(request("search_fd" & i),1, Len(request("search_fd"&i))-1)
iOpt = "^*"
elseif ((StartStrData = "*" ) AND (EndStrData <> "*")) then ' End With Case *xx
StartStrData = Replace(request("search_fd"&i),"*","",1,1,1)
StrKeyWord = StartStrData
iOpt = "*^"
end if
end if ' end of check 1 character
end if ' end of check 2 first character
ArryOpt(i) = iOpt
ArryItemValue(i) = StrKeyWord
end if
i = i+1
Loop
RS.Close
Set RS = Nothing
MyConn.Close
Set MyConn = Nothing
end if
%>