aspで最も簡潔な多重クエリの解決策


最も簡潔な複数のクエリの解決策[前文]私たちはしばしば複数のクエリの問題に遭遇しますが、長いSQLの文は往々にして義二和尚の頭を掴めなくなります。特にクライアント部分に照会条件を記入する場合は、通常の方法で行うとさらに難しくなります。以下、「where」を巧みに利用します。 1=1の「恒等式」は、この問題を解決します。本文概要''subject 情報タイトル「company」 情報を発信する会社名 情報の内容を発表する「address」 会社の住所 会社概要 上記の値はすべてFORMで提出され、その後、subject=trim(Request.Form)などで対応する値を得る。この関数は鍵があります。---------------Function sql(a,b,sqls)if b<>“” then 'クライアントがこの値を提出していない場合、対応するSQL文は生成されません。s qls=s qls & " and " & a. & " like '%" & b & "%'" end if sql=sqls End Function---------データベースSetを呼び出します。 conn=Server.reat Object(「ADODB.C.onnect」)DBpath=Server.MapPath(「/database/mdb.mdb」)Con.Open "driver={Microsoft} Access Driver (*.mdb)}pwd=;dbq=" & DBpathセット rs=Server.reate Object(「ADODB.Recordset」)sqls=「select」 * from mytable where 1=1 " '上の関数を使えばいいです。sqls=sql(subject)、subject、sqls=sqlsl(company)、sqlsl=sqlsl=sqlsl(content)、sqlsl=sqlsl=sqlsl=sqlss=sqlsl(content)、sqlslsl=sql=sql)sql=sql=sql=sql=sql=sql=sql=sql=sql=sql=sql=sqlslslslscom=sql=sql=sql=sql=sql=sql=sql=sql=sql=sqls l(note)、note、sqls=sqls & " order by id。 desc「rs.open」 sqls,conn,3,2%>[終了語]キー関数がない場合はFunction sql(a,b,sqls)は、どれぐらいの判断が必要なのかを想像できます。