この記事では、VBによって生成されたDLLカプセル化されたASPコードを使用してデータベースに接続します(アクセスデータベースを例として使用します)。
一般的に言えば、ASPに接続してアクセスデータベースを使用する場合、通常、次の操作を実行します。
'//proconn.asp
<%
dimproconn
setProconn = server.createObject( "adodb.Connection")
proconn.open "driver = {microsoft accessdriver(*。MDB)}; uid =; pwd = 123; dbq ="&server.mappath( "db.asp"))
'元々db.mdbがdb.aspに変更されたサフィックスdb.aspを備えたファイル、データベースパスワード123
iferr.Number <> 0then
Response.Write「データベースには接続がありません。チェックしてください」
Response.End
それ以外
response.write「データベースリンクの正常に」
Response.End
endif
%>
サーバーが構成されている場合は、proconn.aspにアクセスします。データベース接続が成功した場合、出力は「データベース接続の成功」になります。
ただし、ASPコードなどのセキュリティレベルは非常に低いです。このASPオリジナルが見られると、このデータベースファイルを使用すると、他の人は簡単にできます
操作のためにデータベースを開きます。
それで、私たちのタスクはここにあります、これらの重要なコンテンツをカプセル化する方法は?
まず、メソッドとオブジェクトを決定する必要があります。
インターネット上の情報を確認した後、彼らは主にVBを使用してDLLを生成してそれらをカプセル化します。したがって、この方法も採用する必要があります(私はまだVBを実際に使用していませんが)
方法が決定されているため、カプセル化する必要があるオブジェクトは何ですか?
皆さんに会いに来てください
"driver = {microsoft AccessDriver(*。MDB)}; uid =; pwd = 123; dbq ="&server.mappath( "db.asp")
これは最も重要なコードです。このコードは、VBで生成されたDLLでより適切にカプセル化する必要があります。
なぜ全体を置かない理由
dimproconn
setProconn = server.createObject( "adodb.Connection")
proconn.open "driver = {microsoft accessdriver(*。MDB)}; uid =; pwd = 123; dbq ="&server.mappath( "db.asp"))
すべてがカプセル化されています(接続コード全体がカプセル化されていると言われているため)は、他のASPファイルがproconn.aspを参照する場合、
また、他の操作を行うには内部内部が必要です。カプセル化されている場合は、参照して動作することは不便です。
(カプセル化オブジェクトの上記の説明の理由は私の個人的な意見です。一部の友人は、全体的なカプセル化がProsonnの使用に影響を与えないと言いました。
私は最も重要な部分をカプセル化したいだけです "" driver = {microsoft accessdriver(*。mdb)}; uid =; pwd = 123; dbq = "&server.mappath(" db.asp ")"
カプセル化するコンテンツを分析します。
その前半は文字列です:
"driver = {microsoft AccessDriver(*。MDB)}; uid =; pwd = 123; dbq ="
後半に別の文字列を使用して接続します。
後半の別の文字列は、server.mappathオブジェクト関数の返品値です。
以下は、このパッケージの操作プロセスです。
初め
VBの下で新しいActiveXDLLプロジェクトを作成し、Project Project1の名前をCondbdllに変更しますか??メソッドclass1の名前はCSに変更されます