C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[7]: 親テーブルの検索条件で子テーブルを絞り込む


(過去ログ 132 を表示中)

[トピック内 8 記事 (1 - 8 表示)]  << 0 >>

■78078 / inTopicNo.1)  親テーブルの検索条件で子テーブルを絞り込む
  
□投稿者/ 緑 (1回)-(2015/12/11(Fri) 21:20:56)

分類:[データベース全般] 

C#を始めて一ヶ月ほどで今データベースを勉強中の者です。
windows7sp1、vs2013、SQLServer2012ExpressLocalDB、.NET4.5の環境です。

親テーブル(親ID、親名前)キー親ID 親IDにIdentity=true
子テーブル(親ID、子ID、子名前)キー親ID,子ID、外部キー親ID(リレーション)

windowsフォームアプリのフォームに親テーブルを詳細で、子テーブルをDataGridViewでD&Dして
表示、編集、追加、削除、及びデータベースへの反映(書き戻し?)までできました。

親テーブルアダプタにクエリを追加して、親名前で検索(絞込み?)を行えるようにしました。
しかし、子データテーブルに全データを取り込んでいる為に「制約を有効に出来ませんでした」と
例外が発生します。(なぜか初回のみでデータ表示は問題ありません)
親テーブルの検索条件は「%ito%」のようなもので複数のレコードが取得されます。
これにあわせて子テーブルも絞込みのクエリを作成したいのですが、この親テーブルに使っている
条件を使って子テーブルも絞り込むことができるのでしょうか?(QueryBuilderのFilterなどの設定で)

子テーブルは親名前は持っていないので、親テーブルの絞り込んだデータから親IDを取り出して
それを利用するような形になるのでしょうか?
よろしくお願い致します。


引用返信 編集キー/
■78079 / inTopicNo.2)  Re[1]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ WebSurfer (732回)-(2015/12/11(Fri) 22:02:59)
No78078 (緑 さん) に返信

質問者さんのやりたいことがよく分かりませんが、以下のチュートリアルの
ようなアプリなのでしょうか?

10 行でズバリ !! 非接続型のデータ アクセス (ADO.NET) (C#)
https://code.msdn.microsoft.com/windowsdesktop/10-ADONET-C-cbfe7688

違う場合は、これとどう違うのかを言ってもらえると分かりやすいと思うの
ですが・・・
引用返信 編集キー/
■78080 / inTopicNo.3)  Re[2]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ ?? (1回)-(2015/12/11(Fri) 22:17:58)
No78079 (WebSurfer さん) に返信
WebSurfer さん、ありがとうございます。
ご紹介のサイトと同様のものです。
それに親のテーブルアダプタからクエリを追加して検索を入れたものです。
引用返信 編集キー/
■78081 / inTopicNo.4)  Re[3]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ WebSurfer (733回)-(2015/12/11(Fri) 22:31:39)
No78080 (?? さん) に返信

「??」さん = 「緑」さんですか? それとも別人?
同じ人であるなら名前には気をつけていただきたいのですが。
引用返信 編集キー/
■78082 / inTopicNo.5)  Re[4]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ 緑 (3回)-(2015/12/11(Fri) 22:36:39)
No78081 (WebSurfer さん) に返信
> ■No78080 (?? さん) に返信
>
> 「??」さん = 「緑」さんですか? それとも別人?
> 同じ人であるなら名前には気をつけていただきたいのですが。

すみません、うっかりそのまま送信してしまいました。
引用返信 編集キー/
■78083 / inTopicNo.6)  Re[5]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ WebSurfer (734回)-(2015/12/11(Fri) 23:37:52)
No78082 (緑 さん) に返信

「??」さん = 「緑」さんと理解して・・・

> ご紹介のサイトと同様のものです。

紹介したチュートリアルをよく読んで、中身を理解して、もしできればそのチュートリ
アルの手順どおりに作ってみてから返事をしていただきたいのですが。

私の書き込みから 15 分でレスが戻ってきてますが、15 分で紹介したチュートリアルの
中身が理解できて「同様のもの」と言えるとは考えにくいのですが。

15 分で理解できる知識をお持ちなら自己解決できるはずですし・・・

もし、理解できてたと言うなら失礼しましたが、それなら、

> それに親のテーブルアダプタからクエリを追加して検索を入れたものです。

というところ、どのようにしたいのかもっと具体的に、例えばチュートリアルで使ってい
る DB をベースに、どの TableAdapter にどういうクエリを追加するか書けませんか?
引用返信 編集キー/
■78084 / inTopicNo.7)  Re[6]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ 緑 (4回)-(2015/12/12(Sat) 06:40:25)
No78083 (WebSurfer さん) に返信

> 15 分で理解できる知識をお持ちなら自己解決できるはずですし・・・

ご紹介のサイトの内容はやって出来ている事なので時間は掛かりません。
SQLなどの知識を高めれば自己解決できるという事だと思いますので
他をやりながら自己解決したいと思います。
ありがとうございました。
解決済み
引用返信 編集キー/
■78086 / inTopicNo.8)  Re[7]: 親テーブルの検索条件で子テーブルを絞り込む
□投稿者/ WebSurfer (735回)-(2015/12/12(Sat) 11:28:08)
解決したわけではなくて、質問者さんがここでの Q&A を止めただけですので、「解
決済み」マークは消させてください。

質問者さんへ>

ここでの Q&A を止めるのはご自由ですが、「解決済み」マークは、自己解決した後
で解決した方法を書いてからつけるようにお願いします。質問者さん個人の問題の解
決だけでなく「情報の共有」まで考えていただければと思います。


・・・と言うだけでは何ですので、ひょっとしたら「情報の共有」のお役に立つかも
しれない自分の案を以下に書いておきます。

Northwind サンプルデータベースの Products テーブルと Categories テーブルを
例に使って、CatagoryName で Produts テーブルを曖昧検索するとします。(先に
紹介した記事のように、2 つのテーブルを同時に表示しての編集、階層更新は考え
ません)

まず、下の記事のように CategoryID と CategoryName を並べて表示できるように
します。

DataGridView に ID と名前を併記
http://surferonwww.info/BlogEngine/post/2014/02/01/how-to-show-both-id-and-name-on-datagridview-while-enabling-update.aspx

上の記事の Form1 に TextBox と Button を追加し、Button クリックで TextBox に
入力した文字列で CategoryName を曖昧検索し、結果を DataGridView に表示すると
します。

そのために以下のコードを追加します。

private void button1_Click(object sender, EventArgs e)
{
    if (!String.IsNullOrEmpty(textBox1.Text))
    {
        Northwind.ProductsDataTable table = this.northwind.Products;
        table.DefaultView.RowFilter = "CategoryName LIKE '%" + textBox1.Text + "%'";
        this.productsBindingSource.DataSource = table;
    }
    else
    {
        Northwind.ProductsDataTable table = this.northwind.Products;
        table.DefaultView.RowFilter = "";
        this.productsBindingSource.DataSource = table;
    }
}

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -