Delphi2005を使用してDBWebFiltersampleを独自の例でデバッグすると、次の問題に遭遇しました。BDPDATAADAPTER1のアクティブプロパティがTRUEに設定されている場合、コンパイルと操作が完了したときに次のエラーが発生します。
エラー
「/dbwebfiltersample」アプリケーションのサーバーエラー。
-------------------------------------------------------------- ---------------------------------------
接続が失敗しました
説明:現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコードのエラーが発生した場所については、Stack Trace情報を確認してください。
例外:borland.data.common.bdpexception:接続の開いたデータベースソースエラー:行288:
self.dbwebdatasource1.errordlgforecolor:= drawing.color.black;
(system.componentModel.isupportinitialize(self.bdpdataadapter1))。endinit;行291:
(system.componentModel.isupportinitialize(self.employes))。endinit;行292:
(system.componentModel.isupportinitialize(self.datatable1))。endinit;
ソースファイル:g:/プログラムファイル/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pasライン:290スタックトレース:[bdpexception:[bdpexception:
接続が失敗しました。
borland.data.provider.bdpdataadapter.endinit()webform1.twebform1.initializeComponent()in g:/program
files/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas:290 webform1.twebform1.oninit(eventargs e)in
g:/プログラムファイル/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas:344
System.web.ui.control.initRecursive(Control NamingContainer)System.web.ui.page.processRequestmain()
-------------------------------------------------------------- ---------------------------------------
バージョン情報:Microsoft .NETフレームワークバージョン:1.1.4322.573;
プロパティがfalsに設定されている場合、次のエラーが発生します。
「/dbwebfiltersample」アプリケーションのサーバーエラー。
-------------------------------------------------------------- ---------------------------------------
入力文字列は正しくありません。
説明:現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコードのエラーが発生した場所については、Stack Trace情報を確認してください。
例外の詳細:System.FormateXception:入力文字列は誤ってフォーマットされています。ソースエラー:行325:else 326:scurrentfilter:=
Convert.ToString(o); startcustid:= contoint16(listbox1.selectedValue);
convert.toint16(listbox2.selectedValue);行329:startcustid <endcustid thenの場合
ソースファイル:g:/プログラムファイル/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pasライン:327スタックトレース:[formatexception:[formatexception:[
入力文字列は正しくありません。 ] System.Number.ParseInt32(String S、NumberTyles Style、Numberformatinfo Info)+0
System.int16.Parse(String S、NumberStyles Style、IformatProvider Provider)+37 System.Convert.Toint16(String値)+19
webform1.twebform1.page_load(object sender、eventargs e)in g:/program
files/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas:327 system.web.ui.control.onload(eventargs e)
System.Web.ui.Control.LoadRecursive()System.Web.ui.Page.ProcessRequestMain()
-------------------------------------------------------------- ---------------------------------------
バージョン情報:Microsoft .NETフレームワークバージョン:1.1.4322.573;
私のテストの焦点はDelphi2005を使用してWebクエリを実装することであるため、上記のマイナーエラーをわずかに変更しました。コンパイルと操作にエラーはありませんでしたが、データは表示されませんでした。データを表示するために、著者
Webform1デザインフォームにボタンを追加し、次のコードをボタンイベントに追加します。
bdpdataadapter1.activeではない場合
thenbdpdataadapter1.active:= true;
コンパイルおよび実行時にこのボタンをクリックすると、次のエラーが発生します。
「/dbwebfiltersample」アプリケーションのサーバーエラー。
-------------------------------------------------------------- ---------------------------------------
接続が失敗しました
説明:現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコードのエラーが発生した場所については、Stack Trace情報を確認してください。
例外の詳細:
borland.data.common.bdpexception:接続を開くデータベースソースエラー:行301:
bdpdataadapter1.activeではない場合、303行:
bdpdataadapter1.active:= true; //行304はこの文で発生しました。
終わり;
ソースファイル:g:/プログラム
files/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas行:303
スタックトレース:[bdpexception:接続を開くには失敗しました。
利用できないデータベース] borland.data.provider.bdpdataadapter.e()borland.data.provider.bdpdataadapter.set_active(boolean value)
webform1.twebform1.button1_click(object sender、eventargs e)in g:/program
files/borland/bds/3.0/demos/delphi.net/dbweb/webfilter/webform1.pas:303 System.web.ui.webcontrols.button.onclick(eventargs e)
System.web.ui.webcontrols.button.system.web.ui.ipostbackeventhandler.raisepostbackevent(string eventargument)
System.web.ui.page.raisepostbackevent(ipostbackeventhandler sourcecontrol、string eventargument)
System.web.ui.page.raisepostbackevent(namevaluecollection postdata)
System.web.ui.page.processRequestmain()
-------------------------------------------------------------- ---------------------------------------
バージョン情報:Microsoft .NETフレームワークバージョン:1.1.4322.573;
bdpdataadapter1のアクティブなプロパティを慎重に確認する必要がありますが、これは設定後には不可能です。データベース接続に問題がある必要がありますが、データは設計状態でテストされています
ライブラリ接続に問題はないため、すべてのプロパティ、コンパイルおよび実行、クリック、および障害が残り、データベース接続にボタンイベントを追加しました。 ヘルプファイルを慎重に確認してください。次の内容が含まれています。
接続を設定します
1. Borlandデータプロバイダー:Connections Editor、Connectionsリストから適切なアイテムを選択します。
2.接続設定で、データベースパスを入力します。
注:ローカルディスク上のデータベースを参照する場合、
localhost:たとえば、インターベースを使用する場合、インターベースデータベースへのパスを入力します。
LocalHost:C:/Program Files/Borland/Interbase/Examples/Database/Employee.gdb
(または、実際のパスがシステムにあるものは何でも)。
3.必要に応じて、データベースのユーザー名とパスワードフィールドを完了します。
4.テストをクリックして接続を確認します。
接続のステータスを確認するダイアログが表示されます。
5. [OK]をクリックしてBorlandデータプロバイダーに戻ります:Connections Editorダイアログ。
6. [OK]をクリックして、データアダプター構成ダイアログに戻ります。
[コマンド]タブでは、テーブルと列の領域が接続からの情報で更新されます。
したがって、bdpconnection1の接続ストリングプロパティをデータベース= localhost:g:/programに設定します
files/borland/interbase/examples/database/employe.gdb; assembly = borland.data.interbase、version = 2.0.0.0、culture = neutral、public
keytoken = 91d62ebb5b0d1b1b; vendorclient = gds32.dll; provider = interbase; username = sysdba; password = masterkey
bdpdataadapter1のアクティブプロパティをtrueに設定します
追加されたボタンとそのコードを取り外し、コンパイルして再度実行すると、すべてが正常です。