- - PR -
[C#2005/Windowsアプリ]複数行あるDBデータの保持方法
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2007-10-16 13:00
お世話になります。
C#2005のWindowsアプリの開発です。 今悩んでる仕様があります。 A:親情報 B:子情報1 B:子情報2 という形で、親情報と子情報が A textBoxA comboboxA B textBox1 textHoge1 B textBox2 textHoge2 B textBox3 textHoge3 ・・・(以下B情報が複数並ぶ) という形でフォームを作成しています。 B情報は入力するA情報によってなかったり、1行〜7行存在したりします。 当初の予定ではDB構成を Aテーブル:A情報 Bテーブル:ANo、B枝番、textdata、hogedata という形して開発を進めようとしていたのですが、 その場合DBからデータを取得し、データを各コントロールBOXにセットする際に できないのではないか?という問題にあたりました。 whileでまわす→コントロール名は1,2,3となってるのですが、例えば i=1; SqlDataReader rdr = sqlCmd.ExecuteReader(); while (rdr.Read()) { txtBox(i).Text = rdr["textdata"].ToString(); textHoge(i).Text = rdr["hogedata"].ToString(); i++; } という風にコントロール名に可変の数字を入れてもできないな・・・と。 打開策として、DBのBテーブルの構成を Bテーブル→ANO、text1,hogedata1,text2,hogedata2・・・ と1行に全てのデータを持たせれば解決するのですが、DB構成的にこんな風に 持たせていいのだろうか?というジレンマもあります。 rdr.Readで複数ある各コントロールボックスにDBの値をセットをする方法として 何か良い案がありましたら、御教示下さい。 |
|
投稿日時: 2007-10-16 22:24
申し訳ありません。ブログネタにさせていただきました。
ご一読願えたらと思います。 http://blogs.wankuma.com/jitta/archive/2007/10/16/102415.aspx |
|
投稿日時: 2007-10-16 23:06
ちょっと方式は異なりますが、以下のサイトにDataSetを使って主+副の構成のデータを表現する方法が紹介されています。
http://www.atmarkit.co.jp/fdotnet/vblab/vsdbprog_06/vsdbprog_06_01.html マスタメンテや表示のみの画面であれば意外といいかもしれませんね。 |
|
投稿日時: 2007-10-17 00:05
# ちづるさんが聞きたいのはコントロール配列な事なのかな、と
# 思っていたんですが違う? DBの構成的に・・・というのは思われている通りだと。 Visual Basic .NET と Visual C# .NET におけるコントロール配列の作成 このあたりが参考になるのではないでしょうか。 |
|
投稿日時: 2007-10-17 10:42
Jitta様、GENZO様、Ahf様
回答ありがとうございます。 質問に載せた例文自体もVBなんだかC#なんだかわからない例をあげてしまっていたりと いろいろと赤面しています・・・。 Jitta様がブログで書かれた内容をみて、ハッと気がつきました・・・。 「User Interface は、魅せることに専念した方がいい」 という内容を肝に銘じて、もう一度構成を考え直してみます。 回答ありがとうございました。 |
1