2011-08-14 13 views
2

SQL Serverデータベース(1つのフォーム/データベーステーブル)のテーブルを使用してVB.NETフォームを自動的に生成したいと考えています。カスタムカスタムコードを書くことはおそらく可能かもしれませんが、ジョブが素晴らしい(データベースには40以上のテーブルがあり、手作業で行うのは退屈な作業です)、その機能をすでに備えている場合です。SQL Server 2008を使用してVB.NETフォームを自動生成

すべての回答、ヘルプ、リンク、ヒントが大変ありがとうございます。

よろしく、 アユブ

+0

フォームは何をする必要がありますか? – Yahia

+1

VB.NETに厳しい要件がない場合は、Silverlightでフロントエンドを生成する[LightSwitch](http://www.microsoft.com/visualstudio/en-us/lightswitch)を使用できます。必要に応じて、SilverlightアプリケーションをWebブラウザーコントロールのVB.NETフォームでホストすることができます。 –

+0

フォームは基本的にデータ入力者/データ検証に使用されますが、それらのフォームを使用して入力する調査のための大量のデータがあります。 – Ayub

答えて

7

これは、すべての機能が出回っのVisual Studioに存在し、修正するだけで分かかります。

火までのVisual Studio、データソース構成ウィザードを開始するために、新しいデータソース...を追加をクリックしてください:

enter image description here

選択データベースを、ウィザードに従ってください。
enter image description here

データベースに接続するときは、インターレースするテーブルを選択し、フィンランドのボタンを押します。 enter image description here

は今、これはあなたがあなたがスキーマエディタで選択したテーブルを参照してくださいよXSDファイルをダブルクリックすると、あなたのソリューションに強く名前のデータセットを作成しますが、今のためにそれを残します: enter image description here

を今、データ・メニューから「Show Data Sources」を選択すると、ウィザードで選択したすべての表が表示されます。フィールドには、結果として、フォーム上で表現されることをコントロールの種類を指示するアイコン各フィールドの左にある:

enter image description here

今、あなたは、データのように、フォーム上に提示される方法をdesideすることができますdatagridviewまたは詳細モードでは、テーブル名のドロップダウンを使用するだけです(form-design-modeの場合のみ)。

enter image description here

あなたがテーブルの上に詳細モードを選択した場合は、フィールドは(フォームデザインモードではなく、コード・モードである必要があります)で表される制御内容を変更することができます

enter image description here

は、それからちょうど空のフォームにデータソースビューからテーブルをドラッグして、それが魔法の削除/追加/編集するコントロールを作成し、データを移動します。

これはDataGridViewのモードを選択した場合の結果である:

enter image description here

をおよび詳細は、テーブルの上に、選択された場合:

その背後にあるコードで

enter image description here

も魔法のようにいくつかを追加フォームがロードされ、いくつかのセーブ/バリデートコードが発生したときにアダプタにデータをロードするコード:

Private Sub AccountBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AccountBindingNavigatorSaveItem.Click 
    Me.Validate() 
    Me.AccountBindingSource.EndEdit() 
    Me.AccountTableAdapter.Update(Me.MyDBDataSet.Account) 

End Sub 

Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 
    'TODO: This line of code loads data into the 'MyDBDataSet.Account' table. You can move, or remove it, as needed. 
    Me.AccountTableAdapter.Fill(Me.MyDBDataSet.Account) 

End Sub 
+0

そして今、あなたは新しい可能性のある世界にあります。データセットを開き、テーブルアダプターにクエリを追加します。データセットデータでLINQを使用します。テーブルにリレーションを追加する(リレーションが既にデータベース内にある場合は自動的に作成されます)。ジョインと関連データの保存方法を気にせずに、ドット表記を使用してこのような関連データにアクセス/変更/保存できます。 MydataSet.Customer.Adress.Street = ""などとなります。 – Stefan

+0

詳細な回答をお寄せいただきありがとうございます、私はそれを試してみて、あなたにお知らせします.. – Ayub

+0

まだ試しましたか? – Stefan

関連する問題