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

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

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

Re[3]: DBから複数の値を取得する方法


(過去ログ 92 を表示中)

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

■55017 / inTopicNo.1)  DBから複数の値を取得する方法
  
□投稿者/ ちゃっぴ (51回)-(2010/11/14(Sun) 21:11:31)

分類:[C#] 

初めまして

知識0でSEとして入社した超初心者です。
visual studio2010,c#でコードを書いているんですが、、、
質問させてください。

現在
select 氏名 from 名簿 where 年齢 = '20'
という形式のSQLを
ExecuteOracleScalar ()で氏名の値を取得しているのですが

select 氏名、出身地 from 名簿 where = '20'
と、項目を2つselectしたとき、
”氏名”と”出身地”両方の値を取得したいのですが方法がわかりません。
どなたか教えてください。
実際は氏名はobject型、出身地はdecimal型です。

select分を別々に2分書いてそれぞれExecuteOracleScalar ()で取得するしかないのでしょうか?
よろしくお願いします。

あまりに初心者すぎて分かりにくい質問の仕方で申し訳ないです。

引用返信 編集キー/
■55018 / inTopicNo.2)  Re[1]: DBから複数の値を取得する方法
□投稿者/ shu (175回)-(2010/11/14(Sun) 21:35:22)
No55017 (ちゃっぴ さん) に返信

OracleDataAdapter.Fillを使ってDatasetあるいはDataTableに
データを取得することが出来ます。
引用返信 編集キー/
■55019 / inTopicNo.3)  Re[2]: DBから複数の値を取得する方法
□投稿者/ ちゃっぴ (53回)-(2010/11/14(Sun) 21:58:03)
shuさんありがとうございます!!

自宅には開発環境がないので
明日会社でコード書いてみます!
引用返信 編集キー/
■55023 / inTopicNo.4)  Re[1]: DBから複数の値を取得する方法
□投稿者/ 裕猫 (194回)-(2010/11/15(Mon) 08:36:40)
No55017 (ちゃっぴ さん) に返信
初めまして
>
> 知識0でSEとして入社した超初心者です。
> visual studio2010,c#でコードを書いているんですが、、、
> 質問させてください。
>
> 現在
> select 氏名 from 名簿 where 年齢 = '20'
> という形式のSQLを
> ExecuteOracleScalar ()で氏名の値を取得しているのですが
>
> select 氏名、出身地 from 名簿 where = '20'
> と、項目を2つselectしたとき、
> ”氏名”と”出身地”両方の値を取得したいのですが方法がわかりません。
> どなたか教えてください。
> 実際は氏名はobject型、出身地はdecimal型です。
>
oracleはキーを複数組み合わせて持てます。もし氏名、出身地をキーに指定してあるなら
select * from " + 名簿 + " where 氏名 = '20' and 出身地 = '静岡県'", "ORDER BY 氏名,出身地"
とすれば氏名20出身地静岡県のデータだけを取得することができますよ。
引用返信 編集キー/
■55024 / inTopicNo.5)  Re[2]: DBから複数の値を取得する方法
□投稿者/ マサヤ (174回)-(2010/11/15(Mon) 09:11:08)
select 氏名、出身地 from 名簿 where 年齢 = '20'
をExecuteOracleScalar ()で実行し、
この条件にあてはまる人が複数いた場合は結果が1行しか返りませんがよろしいでしょうか?
最近Oracleやってないのでわかりませんが、ExecuteReaderを使用したほうがいいかもしれません。
参考までにリンク貼っておきます。

http://msdn.microsoft.com/ja-jp/library/ab4kxd8h%28v=VS.80%29.aspx


引用返信 編集キー/
■55025 / inTopicNo.6)  Re[2]: DBから複数の値を取得する方法
□投稿者/ ちゃっぴ (54回)-(2010/11/15(Mon) 09:38:59)
No55023 (裕猫 さん) に返信

コメントありがとうございます!

氏名 = 〜〜;
出身地 = 〜〜;
と取得して、別のSQLでキーとして使いたいんです(^x^;)

update 住所録 set 郵便番号 = 0000 where 場所=出身地(SQLで取得したデータ)
引用返信 編集キー/
■55026 / inTopicNo.7)  Re[3]: DBから複数の値を取得する方法
□投稿者/ ちゃっぴ (55回)-(2010/11/15(Mon) 09:41:42)
No55024 (マサヤ さん) に返信

ありがとうございます!

実は別のところで繰り返し処理をしていて、
1行ずつ値を取得して
条件ごとにupdate、insesrtなどをしています。

アドバイスやリンク参考にさせていただきます☆
引用返信 編集キー/
■55028 / inTopicNo.8)  Re[3]: DBから複数の値を取得する方法
□投稿者/ ちゃっぴ (56回)-(2010/11/15(Mon) 10:09:48)
2010/11/15(Mon) 10:10:27 編集(投稿者)

shuさんを初め皆様のアドバイスのおかげで
無事、値取得できました。

using (OracleCommand cmd = new OracleCommand("select 氏名、出身地 from 名簿 where = '20'))
{
OracleDataAdapter adp = new OracleDataAdapter();
DataTable dt = new DataTable();

adp.SelectCommand = cmd;
adp.Fill(dt);
氏名 = dt.Rows[0][0];
出身地 = dt.Rows[0][1];
}
という風に書いてます。
とりあえず値は取得できていますが、ちゃんと動くか不安なのでこれからいろいろテストしてみます。

みなさまの暖かい対応ありがとうございました。
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -