0

OK、SQL Server データベースがあります。

テーブルを選択するコンボボックス、表示するフィールドを選択するチェックリストボックス、およびデータを表示するデータグリッドビューで構成される非常に単純なフロントエンドを構築しています。

私が抱えている問題 (ほとんどの人にとってはおそらく非常に単純なものですが、私は一般的にデータベースにはかなり慣れていません) は、別の列との関係を持つ列があり、datagridview にはその列の ID が表示されるだけです。実際の値の代わりにフィールド値。

明確にするために、フィールドを持つ 1 つのテーブル ("ItemTypes" と呼ばれる) があります: ID アイテム タイプ CAT1 CAT2

フィールドを持つ別のテーブル (CAT1s と呼ばれる):

ID CAT1

これで私がどこに向かっているのかがわかります。datagridview では、ItemTypes テーブルからすべてのデータをインポートしていますが、CAT1 列を CAT1s テーブルの CAT1 フィールドから取り込まれるコンボボックスにしたいと考えています。現時点では、CAT1 の ID フィールドが表示されていますが、これはユーザーにとって意味のない数字です。

データを DGV にインポートするために必要なコードは次のとおりです。

    private void GetData(string selectCommand)
    {
        dataGridView2.DataSource = bindingSource2;

        try
        {

            String connectionString = sConnection;
            dataAdapter = new SqlDataAdapter(selectCommand, connectionString);
            SqlCommandBuilder commandBuilder = new SqlCommandBuilder(dataAdapter);
            DataTable table = new DataTable();
            dataAdapter.Fill(table);
            bindingSource2.DataSource = table;
            dataGridView2.AutoResizeColumns(DataGridViewAutoSizeColumnsMode.AllCells);
        }
        catch (SqlException)
        {
    }

どんな助けでも大歓迎です。

乾杯

4

1 に答える 1

0

2 つ以上のテーブルのデータを表示するには、それらを結合する必要があります。SQL のテーブル JOINS を読むことをお勧めします。

ここから開始でき
ます http://w3schools.com/sql/sql_join.asp

于 2011-01-28T16:53:41.217 に答える