iPentec
データベース内のテーブルは TEST-001
として、説明をしています。
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にはたくさんバグがあるのかもしれません。