質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

Q&A

解決済

2回答

26768閲覧

C#でデータベースから指定されたIDの行のデータを取得したい。

newtorino

総合スコア47

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Visual Studio 2010

Microsoft Visual Studio 2010はMicrosoftが提供している統合開発環境(IDE)です。

1グッド

0クリップ

投稿2016/03/04 01:48

編集2016/03/04 01:52

いつもお世話になっています。
VisualStudio2010を使ってC#を勉強しているものです。

C#で以下のようなデータベースを作成しました。

id name type color
1 ぶどう 果物 紫色
2 キャベツ 野菜 緑色
3 くるみ 木の実 茶色
4 りんご 果物 赤色

ここから、指定したIDの行のデータを個別に取得して、テキストボックスに入れたいと思っています。

例えば、2のIDを指定すると、

名前をいれたいテキストボックスには「キャベツ」
タイプをいれたいテキストボックスには「野菜」
カラーをいれたテキストボックスには「緑色」

と取得したいです。

この場合、どのようなクラスやメソッドを使えばいいですか?

検索したところ、SqlDataReaderあたりかな~と思っているのですが使い方がイマイチわかりません・・・
解決法がSqlDataReaderだった場合は使用例も書いてくださるととても助かります・・

データベースはSQLServerです。
お手数をおかけしますがどなたかよろしくお願いします。

Miyu_D2👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Tak1wa

2016/03/04 01:50

データベースはSQLServerですか?
newtorino

2016/03/04 01:52

修正依頼ありがとうございます。 データベースはSQLServerです。
guest

回答2

0

ベストアンサー

こんにちは。

以下の2つを参考に、まずプログラムを組んでみてください。
その後に不明点を再質問されたほうがよろしいでしょう。(丸投げと解釈されてしまう可能性もありますので…)

ADO.NET で SQL Server に接続する
ADO.NET で SELECT 文の結果を取得する

EntityFrameworkでも良いのですが、まずは基礎となる上記のようなADO.NETから触ってみては如何でしょうか。

投稿2016/03/04 01:55

Tak1wa

総合スコア4791

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

newtorino

2016/03/04 02:11

ご指摘ありがとうございます。 サーバーに接続し、SELECT文で全体のテーブルを取得して表示。 また、行ではなく列ごとの取得、などはすることはできました。 しかし、指定したIDの行を取得したり、行の中のセルの中の個別のデータを取得するというやり方がわかりません。 そのあたりのデータもSELECT文で取得できますでしょうか。 しかし、基礎不足ということは承知しております。 いただいたURLを見なおしてもう一度基礎から勉強してみます。
Tak1wa

2016/03/04 02:14

ああ、なるほど。そこはSELECT句で列を指定したり、WHERE句でID指定する形になると思います。あるいは、数件取得した上でC#側でオブジェクトに検索をかける方法もあるでしょう。(パフォーマンスは取り敢えずおいておくとして。) それらのキーワードで調べてSQL文を作成してみてください。
newtorino

2016/03/04 02:22

SELECTの理解のしなおしとWHEREを調べてやってみます。 ありがとうございます。
newtorino

2016/03/04 09:01

SELECT * FROM DBtable名 WHERE IDの列名 = IDの値 これ使って指定IDの1行のDataTableを作成し、 DataRow Row名 = DataTable名.Rows[0]; データテーブルのROWに名前をつけ、 String name = ROW名["name"].ToString(); DataRowの中のname列名を指定し、文字列にいれる。 これで解決しました。ありがとうございました。
guest

0

SELECT * FROM DBtable名 WHERE IDの列名 = IDの値
これ使って指定IDの1行のDataTableを作成し、

DataRow Row名 = DataTable名.Rows[0];
データテーブルのROWに名前をつけ、

String name = ROW名["name"].ToString();
DataRowの中のname列名を指定し、文字列にいれる。

これで解決しました。ありがとうございました。

投稿2016/03/04 09:02

newtorino

総合スコア47

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問