推奨:ASPは長いタイトルの終わりをEllipsisで実装しますデータベースから長い記事を抽出すると、常にWebページのレイアウトが妨げられます。だから、私はキャラクターの一部を固定的に抽出したいと思っていますが、その後...その後の代替品があります。 1。原則:記事の長さが指定された長さを超えるかどうかを判断します。指定された長さを超える場合、指定された長さのみが表示されます。
多くのASPプログラマーは、データベースクエリを実行してからクエリの結果をHTMLテーブルに表示した経験があります。通常、これを行います:
| 以下は引用されたコンテンツです。 <% '接続 /レコードセットを作成します 'データをRecordSetオブジェクトに入力します %> <表> <%はrs.eof%>ではありません <tr> <td> <%= rs(field1)%> </td> <td> <%= rs(field2)%> </td> 。 </tr> <%rs.movenext ループ%> </table> |
多くのクエリ結果がある場合、サーバーはASPスクリプトを説明するのに多くの時間がかかります。すべての出力を長い文字列(<table>から</table>まで)に配置すると、サーバーはresponse.writeステートメントを解釈するだけで、はるかに高速になります。マイクロソフトの有能な人の中には、自分のアイデアを現実に変えています。 (これはADO 2.0以上のみの機能です。以前のバージョンをまだ使用している場合は、最新バージョンにアップグレードしてください)
GetStringメソッドを使用すると、1つのResponse.writeを使用してすべての出力を表示できます。これは、RecordsetがEOFであるかどうかを判断できるDO ...ループループのようなものです。
GetStringの使用法は次のとおりです(すべてのパラメーターはオプションです):
string = recordset.getString(stringformat、numrows、columndelimiter、rowdelimiter、nullexpr)
レコードセットの結果からHTMLテーブルを生成するには、GetStringの5つのパラメーターのうち3つのパラメーターのみを気にする必要があります。
columnDelimiter(レコードセットの列を分離するHTMLコード)、Rowdelimiter(レコードセットの行を分離するHTMLコード)、およびnullexPR(現在のレコードが空のときに生成されるHTMLコード)。以下のHTMLテーブルを生成する例でわかるように、各列は<td> ... </td>で区切られ、各行は<tr> ... </tr>で区切られています。例については、コードを見てみましょう。
| 以下は引用されたコンテンツです。 <%@言語= vbscript%> <%オプション明示的なコーディング手法 'DBへの接続を確立します dim conn conn = server.createObject(adodb.connection)を設定します conn.open dsn = northwind; 'レコードセットを作成します 薄暗いrs rs = server.createObject(adodb.Recordset)を設定します rs.open select * from table1、conn '1つの大きな文字列を保管してください 薄暗いstrtable strtable = rs.getString(、</td> <td>、</td> </tr> <tr> <td> 、) %> <html> <body> <表> <tr> <td> <%response.write(strtable)%> </tr> </td> </table> </body> </html> <% '掃除! rs.close rs = Nothingを設定します conn.close conn =何も設定しません %> |
STRTABLE文字列は、select * from table1のHTMLテーブル結果から生成するコードを保存するために使用されます。
HTMLテーブルの各列間に</td> <td> HTMLコードがあり、各行の間のHTMLコードは</td> </td> <tr> <td>です。 GetStringメソッドは正しいHTMLコードを出力し、STRTABLEで保存するため、データセット内のすべてのレコードを出力するために1行の応答が必要です。クエリの結果が次の行と列を返すと仮定して、簡単な例を見てみましょう。
| 以下は引用されたコンテンツです。 COL1 COL2 COL3 Row1ボブ・スミス40 Row1 Ed Frank 43 ROW1 SUE void 42 |
その後、GetStringステートメントによって返された文字列は次のとおりです。
| 以下は引用されたコンテンツです。 ボブ</td> <td> smith </td> <td> 40 </td> <td> </td> </td> </tr> <tr> < TD > ed ... |
正直に言うと、この文字列は長く乱雑に見えますが、それは私たちが望むHTMLコードです。 (手書きのHTMLコードでは、<table> <tr> <td>を応答の前に配置します。
共有:ASPのデータベース呼び出しの一般的なエラーとソリューション以下は、仮想マシンのメンテナンス中にしばしば遭遇するASPプログラムのデータベース呼び出しのいくつかのエラーです。次に、次のように収集して整理します。レジストリキーワード(8007000E)Microsoft OLE DBプロバイダーをODBCドライバーエラー '8007000E' [Micr