dbGo for .NET (ADO Express for .NET) - Delphi 2005

以前はADO Expressと呼ばれていましたが、いつの間にかdbGoと名前が変わった、ADOによるデータベース接続のためのコンポーネントセットです。Delphi 2005から .NET版のdbGOが使えるようになりましたので、今回はこれを使ってみましょう。
注意
サーバー側の設定はすべて終わっている状態です。今回サーバーには Microsoft SQL Server を用いています。データベース名はiPentecデータベース内のテーブルは TEST-001 として、説明をしています。

まず、「新規作成」で VCLフォームアプリケーションを選択します。

次に、下のようなフォームを作成します。DbGrid DbNavigator ADOConnection ADOQuery DataSource を貼り付けます。

 ADOQuery のConnectionプロパティーをセットします。ADOConnectionにします。

DataSourceのDataSetプロパティーをセットします。ADOQueryにします。

次に、DBNavigatorのDataSourceプロパティをセットします。ここはDataSourceに設定します。

DBGridのDataSourceプロパティもセットします。

そして、ADOQueryのSQLプロパティーを編集します。

SQLを記入します。レコードを全部取得するSQL文にしてみます。

ADOConnectionのConnectionStringプロパティーを編集します。ConnectionStringプロパティの右側にある[...]をクリックすると、下のようなダイアログが表示されます。接続文字列の使用のラジオボックスをチェックし、ビルドボタンを押します。

データリンクプロパティのダイアログが表示されます。まず、OLE DBプロバイダを選びます。今回SQL Serverと接続するので "Microsoft OLE DB Provider for SQL Server"を選びます。

サーバー名、接続に使用するアカウント情報を入れます。また、接続先のデータベースも指定します。

必要に応じて、その他の設定をします。

詳細設定です

設定ができましたらADOQueryのActiveプロパティーをTrueにします。DBGridやDBNavigatorがアクティブになり、テーブルのフィールドが表示されました。

アプリケーションを実行します。DBNavigatorの+ボタンを押すと、DBGridに新しい行が追加され、記入できるようになります。

レコードの内容を記入します。記入できましたらDBNavigatorの「レ」のボタンを押して内容を確定させます。これでデータの追加ができました。いったんアプリケーションを終わらせて、もう一度実行したときでも、先ほど追加した内容が保持されていることを確認できます。これで、データベースに接続してレコードの操作ができることが確認できました。

ちなみに、比較の為にWin32でも同じものを作ってみました、Win32でも全く同じ手順で作ることができます。

実行してみました。dbGO for .NET と同様に動くことを確認できます。

さて、ここまで、見てきた感じですと、全く同様に動くので簡単なデータベース操作アプリはVCL .NET に移せそうだと思います。しかし、dbGO for.NETで作ったプログラムで追加などを繰り返すと、下のようなエラーが出てきたりします。このエラーが出ると、DBNavigatorとDBGridがデッドロックしてしまいアプリケーションを終了することしかできなくなってしまいます。ちなみに同じ操作を繰り返しても、Win32で作ったプログラムはエラーが出ませんでした。リリースされたばかりなので、まだ .NETのdbGOにはたくさんバグがあるのかもしれません。


著者
iPentecのメインプログラマー
C#, ASP.NET の開発がメイン、少し前まではDelphiを愛用
最終更新日: 2024-01-07
作成日: 2005-01-01
iPentec all rights reserverd.