Q: レコードセットの RecordCount 値が常に -1 を返すのはなぜですか?
回答: データベースにアクセスするためにレコードセットを開くには、このモードを使用する必要があります。
rec.openstrSQL,conn,1,1
このうち、strSQL はデータベースを操作するための SQL ステートメントであり、conn はデータベースに接続するための Connection 変数です。
質問: ASP スクリプトに多くのコメントを記述しましたが、これはサーバーの ASP ファイル処理速度に影響しますか?
回答: 外国の技術者によるテストの結果、コメントが多すぎる ASP ファイルの全体的なパフォーマンスは 0.1% 低下するだけで、基本的にサーバーのパフォーマンスには影響しません。
Q: すべての ASP ファイルの先頭で使用する必要がありますか?
回答: 使用しているスクリプト言語が VBScript の場合は、このステートメントを使用しないようにしてください。そうしないと、プログラム全体のパフォーマンスが 1.2% 近く低下します。ただし、VBScript 言語を使用していない場合は、このステートメントを使用してください。
Q: すべての ASP ファイルで OptionExplicit を使用する必要がありますか?
回答: プログラム内でエラーが発生する可能性を最小限に抑え、全体のパフォーマンスを 9.8% 近く向上させることができるため、これを実行したほうがよいでしょう。
質問: IIS5.0 で最近登場した ASP3.0 の新機能は何ですか?
回答: 実際、新しい変更はありませんが、Server オブジェクトの 2 つの新しいメソッドが追加されました。
Server.Transfer と Server.Excute、および新しいオブジェクト ASPError。具体的な使用方法については、Microsoft の Web サイト www.microsoft.com を参照してください。
質問: Response.Redirect を使用するとエラーが発生するのはなぜですか?
回答: 最も一般的な理由は、ページを作成した後に HTTP ヘッダーを変更したことです。解決策は、ページの先頭に書き込むことです。
質問: Redirect メソッドは同じフレームにのみリダイレクトできるようですが、他のフレームにリダイレクトすることはできますか?
回答: はい、これを追加する必要があります:次に、使用するときは、
Redirect メソッドを呼び出すと、FrameName という名前のフレームにリダイレクトされます。
質問: Window.open() メソッドを使用して開いた新しいウィンドウの ASP ページでセッションが失われたように見えることがよくあるのはなぜですか?
回答: この状況は Microsoft の IE4.x でよく発生しますが、このエラーは IE5.x では解決されています。したがって、すべてのブラウザと互換性を持たせるために、test.asp?name=xxx などのメソッドを使用してウィンドウ間でパラメータを渡すことができます。ただし、渡されるパラメータが非常に重要な場合は、この方法を使用しないでください。平文で渡してください。そうしないと、セキュリティ上の問題が発生しやすくなります。
質問: データベースに接続するには、DSN と DSN-LESS の 2 つの方法があることがよくありますが、これは何を意味しますか?違いはありますか?
回答: DSN は英語の DataSourceName の略称です。DSN メソッドは、コントロール パネルの ODBCDataSources で設定し、次のように使用します。
Conn.OpenDSN=テスト;UID=管理者;PWD=;
Test は、自分で設定したデータ ソースの名前です。 UID と PWD を同時に使用する必要があることに注意してください。同時に使用しないとエラーが発生します。
同様に、DSN-LESS は非データ ソース接続方法です。使用方法は次のとおりです。
Conn.OpenDriver={MicrosoftAccessDriver
(*.mdb)};Dbq=/somepath/mydb.mdb;Uid=Admin;Pwd=;
同じハードウェア環境では、DSN 方式よりも DSN-LESS 方式の方がパフォーマンスが高くなりますが、何らかのセキュリティ上の問題により ASP のソースコードが他人に漏洩すると、データベースのアカウントとパスワードが漏洩してしまうため、この 2 つの方式があります。メリットとデメリットです。
質問: ASP で ADO の AddNew メソッドを使用することと、Insertinto... ステートメントを直接使用することの間に違いはありますか?どちらの方法が良いですか?
回答: ADO の AddNew メソッドは Insertinto ステートメントのみをカプセル化するため、大量のデータを操作する場合は、SQL ステートメントを直接使用すると、ADO の変換時間が短縮されるため、データ アクセスが大幅に高速化されます。 SQL ステートメントは、AddNew や他のステートメントほど受け入れやすいものではありませんが、データベース プログラミングで一般的に使用される SQL ステートメントをいくつか学習することは非常に重要です。
質問: この文 (Let'sgonow!) をデータベースに挿入するとエラーが発生するのはなぜですか?
回答: ほとんどのデータベース (Access、MSSQLServer) は区切り文字として一重引用符を使用するため、データベースに一重引用符を直接挿入することはできません。SQL ステートメントを実行する前に、各一重引用符を 2 つの一重引用符に置き換える必要があります。
MyData=Replace(MyData,','',1) 次に、データベースに保存するだけです。
1. 質問: ASP はプログラミング言語ですか?
回答: ASP はプログラミング言語ではなく、開発環境です。 ASP は、サーバー側で命令を実行するための環境を提供します。特殊な記号 () を使用して、クライアントに送信する前にサーバーで変換する必要があるコマンドと HTML を区別します。実行できる命令には HTML 言語、MicrosoftVBScript、MicrosoftJscript などが含まれるため、強力な Web アプリケーションを作成できます。
2. 質問: PWS を使用して、Web サーバー上で複数の Web サイトをホストできますか?
回答: PWS に収容できる Web サイトは 1 つだけです。同じコンピュータ上で複数の Web サイトをホストするには、Windows NT Server または Windows 2000 Server/Professional と IIS を使用する必要があります。
3. 質問: 6 つの組み込み ASP オブジェクトを使用するにはどうすればよいですか?
回答: ASP には、作成せずに直接アクセスして命令内で使用できる複数の埋め込みオブジェクトが用意されています。これらの 6 つのオブジェクトには主に、Request オブジェクト、Response オブジェクト、Session オブジェクト、Application オブジェクト、Server オブジェクト、Cookies オブジェクト、および Server オブジェクトが含まれます。 6 つのオブジェクトは他のコンポーネントをロードでき、ASP の機能を拡張できます。
Server.CreateObject を使用して作成されたオブジェクトのライフ サイクルは、そのオブジェクトが作成されたときに開始され、そのオブジェクトが配置されている Web ページ プログラムが終了したときに終了します。オブジェクトを Web ページ全体で使用する場合は、Session オブジェクトを使用して、Server.CreateObject によって作成されたオブジェクトを記録できます。
4. 質問: Response.Redirect を使用すると次のエラーが発生するのはなぜですか: タイトルが間違っています。HTTP タイトルはクライアント ブラウザに書き込まれており、ページ コンテンツを書き込む前に HTTP タイトルを変更する必要があります。
回答: Response.Redirect は Web ページを別の Web ページに転送できます。使用される構文構造は次のとおりです。 Response.Redirect URL。URL は相対アドレスまたは絶対アドレスにすることができますが、これは IIS4.0 で使用されます。 IIS5.0では違いがあります。
IIS4.0 での Web ページの転送は、クライアントのブラウザにデータが出力される前に実行する必要があります。そうしないとエラーが発生します。ここでのいわゆるデータには、: などの HTML タグが含まれていますが、IIS5.0 ではバッファがデフォルトで有効になっており、このようなエラーは発生しなくなりました。
Response オブジェクトには Buffer 属性があり、この属性は Web サイトが ASP の処理直後にデータをクライアントに送信するかどうかを設定できますが、この属性はクライアントにデータを送信する前にも設定する必要があります。
念のため、どの ASP 実行プラットフォームを使用しても、このようなエラーが発生しないようにページの先頭でバッファを開くように設定してください。
5. 質問: バッファリングされた出力は Web ページの送信に影響を与えますか?
回答: 比較的大きな Web ページでは、ブラウザに表示される最初の部分に多少の遅れが生じることがありますが、Web ページ全体の読み込みはバッファリングしない場合よりも速くなります。
6. 質問: フォームが送信されていないときに、Request.QueryString コレクションを使用して文字列値をクエリすることはできますか?
回答: Request オブジェクトは、フォーム フィールドの内容を読み取るために使用されるだけでなく、リクエスト文字列がリンク アドレスにどのように追加されたかに関係なく、URL に添付されたパラメーターを読み取るためにも使用できます。お願い 違いはありません。 Request.QueryString コレクションを使用すると、get メソッドを使用してフォームを送信したり、追加のクエリ文字列を含むリンクをたどって文字列内のすべての値をクエリしたりできます。
7. 質問: ASP スクリプトに多くのコメントを書きました。これはサーバーの ASP ファイル処理速度に影響しますか?
回答: プログラムを作成する過程で、コメントを作成するのは良い習慣です。外国の技術者によるテストでは、コメントが多すぎる ASP ファイルの全体的なパフォーマンスは 0.1% しか低下しません。つまり、実際のアプリケーションでは、基本的にサーバーのパフォーマンスの低下は感じられません。
8. 質問: 各 ASP ファイルの先頭でこれを使用する必要がありますか?
回答: 各 ASP ファイルの先頭に使用されるコードは、プログラムの作成に VBScript が使用されていることをサーバーに通知するために使用されます。ただし、ASP のデフォルトのプログラミング言語は VBScript であるため、コードが無視されても正常に実行できます。ただし、プログラムのスクリプト言語が JavaScript の場合は、プログラムの最初の行で使用するスクリプト言語を指定する必要があります。
9. 質問: すべての ASP ファイルで OptionExplicit を使用する必要がありますか? 回答: 実際のアプリケーションでは、VBScript 変数の概念があいまいで、Dim を使用して変数を宣言しなくても変数を直接使用できます。ただし、これは良い習慣ではなく、変数が繰り返し定義される可能性があるため、プログラム エラーが発生しやすくなります。プログラム内で OptionExplicit ステートメントを使用できるため、変数を使用するときに最初に宣言する必要があり、宣言されていない変数が使用されると、プログラムは実行時にエラーが発生します。
実際に、ASP ファイルで OptionExplicit を使用すると、プログラム エラーの可能性を最小限に抑え、全体的なパフォーマンスを大幅に向上できることが証明されています。
10. 質問: ASP ファイルを実行するときのセキュリティ対策は何ですか?
回答: ASP は、優れたコード保護メカニズムを提供します。すべての ASP コードはサーバー側で実行され、クライアント コードの実行結果のみが返されます。ただし、悪意のある人が意図的に Web サーバーに損害を与える可能性は依然として排除されないため、ASP ファイルを作成するときはセキュリティの問題にもっと注意を払う必要があります。
ASP でインポートされたファイルは拡張子として inc を使用しますが、インポートされたファイルの拡張子として ASP を使用することをお勧めします。これらのコードがセキュリティ機構の弱い Web サーバー上で実行された場合、インポートされたファイルのアドレス (拡張子は inc) をアドレス バーに入力するだけで、インポートされたファイルの内容を参照できるためです。特定の型 (inc など) を解析するダイナミック リンク ライブラリが定義されている場合、ファイルはソース コード モードで表示されます。
また、データベース ファイルを Web サイト構造内に配置しないでください。このようにして、悪意のある人がデータベースのパスを取得すると、データベースを簡単に取得し、データベースの内容を任意に変更できます。より良い方法は、データベースのデータ ソース名 DSN (DateSourceName) を確立することです。データベースの物理的な場所、データベースへのアクセスに使用されるドライバーの種類など、指定されたデータ プロバイダーへの接続に関する情報が DSN に保存されます。 、アクセス データベース ドライバーに必要なその他のパラメーターは、データベース アクセス中に DSN から直接アクセスできます。
11. 質問: Web データベース管理システムを評価する際に考慮すべき問題は何ですか?
回答: Web データベース管理システムを評価する場合、次の 3 つの問題を考慮する必要があります。確立された Web データベースはリレーショナルである必要があります。 12. 質問: ADO とは何ですか? ADO はデータベースをどのように操作しますか?
12. 質問: ADO とは何ですか? ADO はデータベースをどのように操作しますか?
回答: ADO の正式名は ActiveXDataObject (ActiveX Data Object) で、データベースへのアクセスに最適化された特殊なオブジェクトのセットであり、サーバー側で動作し、データベース情報を含むホームページを提供します。コンテンツでは、SQL コマンドを実行することで、ブラウザ画面上でサイト データベースの情報を入力、更新、削除できます。
ADO には主に、Connection、Recordset、Command の 3 つのオブジェクトが含まれています。その主な機能は次のとおりです。
·接続オブジェクト: データベース ファイルを開くか、データベース ファイルに接続する役割を果たします。
·レコードセット オブジェクト: データベースの内容にアクセスします。
·コマンド オブジェクト: アクション クエリ命令をデータベースに発行し、SQL Server ストアド プロシージャを実行します。
13. 質問: データベースにアクセスするために Recordset オブジェクトを使用することと Command オブジェクトを使用することの違いは何ですか?
回答: Recordset オブジェクトはデータベースにすべてのデータを送信する必要があります。データ量が多いと、ネットワークの混雑が発生し、データベース サーバーに過負荷がかかるため、全体的な実行効率が低下します。
Command オブジェクトを使用して SQL ステートメントを直接呼び出すと、実行される操作はデータベース サーバーで実行されるため、明らかに実行効率が高くなります。特に、作成したストアドプロシージャをサーバー側で実行することで、ネットワークトラフィックを削減でき、また、事前に構文解析を行うため、全体の実行効率を向上させることができます。
14. 質問: Recordset オブジェクトごとに Connection オブジェクトを作成する必要がありますか?
回答: リソースを節約するために、異なる Recordset オブジェクトに同じ Connection オブジェクトを同時に使用できます。
15. 質問: データベース管理システム (DBMS) とは何ですか?
回答: データベースに保存されているデータのセキュリティと一貫性を確保するには、データベースに対応する管理タスクを実行するためのソフトウェア セットが必要です。このソフトウェア セットはデータベース管理システム (略して DBMS) です。システムによって異なりますが、一般的には次の側面が含まれる必要があります。
データベース記述機能: データベースのグローバル論理構造、ローカル論理構造、その他のさまざまなデータベース オブジェクトを定義します。
データベース管理機能: システム構成と管理、データアクセスと更新管理、データ整合性管理、データセキュリティ管理を含みます。
データベースのクエリおよび操作機能: この機能にはデータベースの取得と変更が含まれます。
データベース保守機能: データのインポートおよびエクスポート管理、データベース構造の保守、データ回復機能、パフォーマンス監視など。
データベース システムの開発効率を向上させるために、最近のデータベース システムでは DBMS 以外にもアプリケーション開発を支援するさまざまなツールが提供されています。
16. 質問: 現在人気のある WEB データベース管理システムは何ですか?
回答: 現在人気のある Web データベース管理システムには、Microsoft の SQL Server、Oracle、DB2、および Sybase が含まれており、小規模企業では主に Access が使用されています。
17. 質問: ADO の AddNew メソッドを使用することと、ASP で Insertinto... ステートメントを直接使用することの違いは何ですか?どちらの方法が良いですか?
回答: ADO の AddNew メソッドは、Insertinto ステートメントのみをカプセル化します。そのため、大量のデータを操作する場合、SQL ステートメントを直接使用すると、ADO ステートメントによって実行される変換時間が短縮されるため、データ アクセスが大幅に高速化されます。データベース サーバーで直接実行されるため、特にデータ量が多い場合に大きな利点があります。
18. 質問: ASP で標準のレコード挿入ステートメント insertintobooks(name,email)values(kitty,[email protected]) を使用すると、エラーが発生するのはなぜですか?
回答: SQL (StructuredQueryLanguage/Structured Query Language) は、1970 年代に IBM によって開発されたデータ クエリ言語であり、現在ではリレーショナル データベース クエリ言語の標準となっています。 SQL ステートメントは、データベースの追加、管理、アクセスに使用できる英語ベースのプログラミング言語です。
SQL ステートメントに文字列を追加する場合は二重引用符を使用できますが、ASP では通常の実行には一重引用符が必要です。したがって、insertintobooks(name,email)values('kitty','[email protected]') と記述する必要があります。
19. 質問: ActiveX コントロールとは何ですか? これらの ActiveX コントロールはどこで入手できますか?
回答: Microsoft ActiveX コントロールは、ソフトウェア プロバイダーによって開発された再利用可能なソフトウェア コンポーネントです。 ASP の埋め込みオブジェクトに加えて、インストールされた ActiveX コントロールも ASP で使用できるため、貴重な開発時間を大幅に節約できます。実際、ASP には使用できる ActiveX コントロールも数多く埋め込まれています。
ActiveX コントロールを使用すると、Web アプリケーションや開発ツールに特別な機能をすばやく追加できます。たとえば、AdRotator オブジェクトを使用して広告スクロール ボードを作成し、FileSystemObject オブジェクトを使用してファイル アクセスに使用し、Marquee オブジェクトを使用してスクロール テキストを実装します。
現在、1,000 を超える商用 ActiveX コントロールがあり、Microsoft の VisualJava 開発環境 MicrosoftVisualJ++ だけでなく、C、C++ などのさまざまなプログラミング言語を使用して開発できます。 ActiveX コントロールを開発すると、設計者と開発者は、それをクライアント プログラム開発用の事前に組み立てられたコンポーネントとして使用できます。この方法で ActiveX コントロールを使用すると、ユーザーはこれらのコンポーネントがどのように開発されているかを知る必要がなく、多くの場合、Web ページやアプリケーションの設計を完成させるために自分でプログラムする必要さえありません。
現在、サードパーティ ソフトウェア開発者によって提供されている商用コントロールが 1,000 を超えています。 Microsoft ActiveX コンポーネント ギャラリー (ActiveXComponentGallery) には、Microsoft およびサードパーティの開発者が提供するさまざまな ActiveX コントロールを指す関連情報と関連リンクが保存されています。 Microsoft ActiveX コンポーネント ギャラリー (ActiveXComponentGallery) では、インターネット拡張 ActiveX コントロールを開発する企業のリストを見つけることができます。
20. 質問: strStartPort=(Request.Form(catmenu_0) ステートメントを使用すると、フォーム内の開始サイトの値がデータベースで見つからないのはなぜですか?
回答: これは、たとえば、取得される開始サイトの値にスペースが含まれる可能性があるためです。ただし、スペースの存在により、ASP プログラムによって取得される値は杭州になる可能性があり、レコードのみが存在します。もちろん、データベース内に杭州の文字列は見つかりません。解決策は、Trim 関数を使用して文字列の両端のスペースをすべて削除することです。
strStartPort=TRIM(リクエスト.フォーム(catmenu_0))
21. 質問: ASP では、変数のライフサイクルが終了したときに、変数の内容を保持するメソッドはいくつありますか?
回答: ブラウザの更新ボタンを押す、ブラウザを閉じて再度開くなど、Web ページの終了を引き起こす操作を行うと、変数のライフ サイクルが終了します。
Web ページの実行終了時に、次回の実行で使用するために変数の内容を保持したい場合は、Application オブジェクトを使用してこれを実現できます。たとえば、Application オブジェクトを使用して、Web サイトの訪問をカウントするカウンターを作成できます。
Session オブジェクトは Application オブジェクトと同じですが、Web ページの最後に変数の内容を保存できます。ただし、Application オブジェクトとは異なり、各接続は独立した Session オブジェクトです。 1 つの Application オブジェクトを共有しますが、各オンライン ユーザーは独自の Session オブジェクトを持ちます。
Application オブジェクトと Session オブジェクトはサーバー側で情報を記録するのに役立ちますが、Cookies オブジェクトはブラウザーが提供する Cookie 機能を使用してクライアント側で情報を記録します。注意すべき点は、Cookie はブラウザーに記録される情報であるため、データへのアクセスは他の ASP オブジェクトにアクセスするほど単純ではないことです (実際の動作に関しては、ブラウザーがサーバーの参照を開始するときにのみ情報が保管されます)。特定の Web ページで、ブラウザがサーバーと Cookie データを交換できるようになる前に、サーバーはブラウザにデータをダウンロードしていません。
22. 質問: オブジェクトを使用した後は何をすべきですか?
回答: オブジェクトを使用した後、まず Close メソッドを使用してオブジェクトが占有しているシステム リソースを解放し、次にオブジェクトの値をゼロに設定してオブジェクトが占有しているメモリを解放します。そうしないと、WEB サービス サイトの動作効率が低下します。オブジェクトが多すぎるため、減少したりクラッシュしたりすることがあります。対応するステートメントは次のとおりです。
23. 質問: ASP ファイル内の HTML フォーム フィールドを読み取る方法はいくつありますか?
回答: URL に添付されたパラメータを読み取ることに加えて、Request オブジェクトは HTML フォーム フィールドの内容も読み取ることができます。一般的に使用される構文構造は次のとおりです。
このメソッドでは、Get または Post の 2 つの送信メソッドを使用できます。Post は、送信するデータを URL の末尾に添付してサーバーに送信します。 , そのため、送信されるデータ量は制限されますが、実行効率はPostメソッドよりも優れています。
データは、Get メソッドまたは Post メソッドを使用してサーバーに送信できます。Request オブジェクトを使用してデータを受信するための対応するメソッドは次のとおりです。
Get: Request.QueryString (フィールド名)。Request (フィールド名) としても記述できます。
Post: Request.Form (フィールド名)、Request (フィールド名) としても記述できます
24. 質問: リクエスト コレクションの使用効率を向上させるにはどうすればよいですか?
回答: Request コレクションを使用する場合、関連コレクションの一連の検索が必要となるため、ローカル変数にアクセスするよりもはるかに時間がかかります。したがって、ページ上で Request コレクションの値を複数回使用する予定がある場合は、それをローカル変数として保存することを検討する必要があります。
25. 質問: VBScript と Jscript の両方を ASP ページで使用できますが、混合スクリプト エンジンを使用するのは良いことですか?
回答: VBScript と JScript の両方を ASP ページで使用できます。ただし、同じページで JScript と VBScript を同時に使用することはお勧めできません。サーバーは、(1 つではなく) 2 つのスクリプト エンジンをインスタンス化してキャッシュしようとする必要があるため、システムの負荷がある程度増加します。したがって、パフォーマンス上の理由から、同じページに複数のスクリプト エンジンを混在させないでください。
26. 質問: ASP ファイルを作成し、それが構文に準拠している場合、ブラウザーで次のアドレスを入力するか、リソース マネージャーでファイルを開いて参照すると、c:/inetpub/wwwroot/a.asp が表示され、操作不能になります。エラーが表示され、アクセス許可が間違っているか、ファイルにアクセスできないというメッセージが表示されます。なぜ ASP ファイルが正常に実行できないのですか?
回答: これは、ASP ファイルでは、まずサイトに実行 (スクリプト) 属性が必要であり、次に DOS 形式ではなく URL 形式でアドレスを入力する必要があるためです。コンピュータに Web サービス プラットフォームをインストールして起動する必要があります。 ASP ファイルが Web サーバーの仮想ディレクトリに保存されていることを確認します。ブラウザのアドレス バーに、http://Web サイト名 (またはサイトの IP アドレス)/ASP と入力して、HTTP 形式で参照できます。ファイル名を入力し、Enter キーを押して、サーバーが ASP ファイルを実行した結果がブラウザに表示されます。
27. 質問: ASP.NET とは何ですか? ASPと何の関係があるのでしょうか?
回答: ActiveServerPages (ASP、Active Server Pages) は、HTML、スクリプト言語、および少数のコンポーネントを組み合わせてサーバー側のインターネット アプリケーションを作成できる、比較的単純なプログラミング環境です。
ASP.NET は、Microsoft が推進する強力なプログラミング環境であり、C# やスクリプト言語、HTML、XML、XSL などのさまざまな高級言語を使用して、ネットワーク ベースのアプリケーションを作成できます。 ASP.NET は、オブジェクト指向言語として C# を使用します。C# は、多くの点で Java に似た Microsoft の言語になります。 C# は ASP.NET 開発において最も重要な機能の 1 つであり、Microsoft は C# を Java の強力なライバルとして開発する予定です。これは Microsoft の .Net フレームワークの重要な部分でもあります。 C# は、プログラミング言語分野でライバルに勝つための Microsoft の主要ツールだと思います。
ASP.NET は、オブジェクト指向、データベース接続、大規模サイト アプリケーションなどの点で ASP プログラムよりも優れています。ASP.NET は、組み込みのオブジェクト キャッシュやページ結果のキャッシュなど、他の側面でもさらに新しい機能を提供します。組み込み XML サポート。XML データセットの単純な処理に使用でき、より完全な対話型制御などを提供します。
ASP.NET は依然として Microsoft のオペレーティング システムに完全に組み込まれています。ASP.NET の可能性を真に実現するには、C# または vb.net を使用する必要があります。これら 2 つの言語は、ASP.NET 標準の中核となるスクリプト言語になります。