1

私は C# を使い始めたばかりで、顧客エントリ ( table Customer) を作成し、その顧客の子供 ( table と同様) のレコードを作成できる単純な DB アプリを作成したいと考えていますOrders

VS2012 Express と SQL2012 Express をインストールしました。

  1. 最初に呼び出されたDBにテーブルを作成し、customerこれを表示して追加/削除できるようになりました。
  2. 次に、というテーブルを作成し、childrenその中に外部キーを作成しました-テーブルcustidからcustomer
  3. childrenこの ( ) テーブルをソリューションに追加dataSourceし、デザイナーで編集すると、2 つのテーブル間に関係があることがわかりますKF-Children-customers
  4. 最後にDataGridView、ソリューションに を追加し、[smart-tag] ボタンをクリックして、外部キー関係を選択したかったのですが、表示されませんでした。

Q:childrenソリューションにテーブルを追加した後で、テーブルと外部キーなどを追加したので、何かする必要がありcustomerますか?

私は本当に C# と .Net を使い始めたばかりで、以前にプログラミングを行ったことがないので、十分に説明していない場合はご容赦ください。

クレイグ

4

2 に答える 2

0

あなたの質問はあまり明確ではありません。顧客はDBまたはテーブルですか?データベースに外部キー制約のある2つの異なるテーブルがある場合は、「JOIN」を使用する必要があります。特に内部結合が役立つ場合があります。

SQL JOINSはここで簡単に説明されています:http ://www.lsql-tutorial.ru

サンプルクエリ: "SELECT userlist.username、tblcountry.country from userlist internal join tblcountry on tblcountry.countryID = userlist.countryname";

テーブル:userlist、tblcountry。両方のテーブルは外部制約で好まれています。

于 2012-10-27T10:16:52.040 に答える
0

顧客には ID 列があり、それを主キーにします。子供には ID 列があり、外部キーを作成します。データバインドのコード:

void gridbind() { try { string qrystring = "あなたのクエリ";

             SqlCommand cmd = new SqlCommand(qrystring, conn);
             SqlDataAdapter DA = new SqlDataAdapter(qrystring, conn);
             SqlCommandBuilder scb = new SqlCommandBuilder(DA);
             DataTable dTable = new DataTable();
             DA.Fill(dTable);
             GridView1.DataSource = dTable;
             GridView1.DataBind();

}
         catch (SqlException)
         {
             lblnameinfo.Text = "Gridview binding error";
         }
         finally
         {
             if (conn != null)
             {
                 conn.Close();
             }
         }
     }

*外部制約のように、あるテーブルから別のテーブルにデータを参照する場合は結合が必要です。*これはサンプルコードです..役立つかもしれません..

于 2012-10-27T11:21:54.780 に答える