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

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

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

Re[10]: OracleDataReaderで


(過去ログ 67 を表示中)

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

■39034 / inTopicNo.1)  OracleDataReaderで
  
□投稿者/ いこ (1回)-(2009/07/29(Wed) 16:43:43)

分類:[C#] 

OracleDataReaderで読み込んだデータをラベルに表示する処理をしたいのですが、
↓のようなコードを書いたらエラーが出ます。
どうしたらよいでしょうか?

private void Form1_Load(object sender, EventArgs e)
{
OracleConnection cnn = new OracleConnection();
cnn.ConnectionString = "User Id=User Id; Password=Password; Data Source=Data Source";

cnn.Open();

String mySQL1 = "SQL文を入れる";
OracleCommand myCmd1 = new OracleCommand(mySQL1);
myCmd1.Connection = cnn;
myCmd1.CommandType = CommandType.Text;
OracleDataReader myRead = myCmd1.ExecuteReader();

while (myRead.Read())
{
lblLast.Text = myRead.GetValue(0);
}
引用返信 編集キー/
■39038 / inTopicNo.2)  Re[1]: OracleDataReaderで
□投稿者/ やじゅ (1149回)-(2009/07/29(Wed) 16:54:43)
やじゅ さんの Web サイト
No39034 (いこ さん) に返信
> OracleDataReaderで読み込んだデータをラベルに表示する処理をしたいのですが、
> ↓のようなコードを書いたらエラーが出ます。
> どうしたらよいでしょうか?

エラーが出たら、そのエラー名を書いてください。
どこでエラーになっているのかも。

あやしいとしたら、String型に変換しないといけないんじゃないの?
lblLast.Text = myRead.GetValue(0);

lblLast.Text = myRead.GetValue(0).ToString();
引用返信 編集キー/
■39039 / inTopicNo.3)  Re[1]: OracleDataReaderで
□投稿者/ gtk2k (41回)-(2009/07/29(Wed) 16:55:01)
2009/07/29(Wed) 16:55:56 編集(投稿者)

かぶったので内容削除
引用返信 編集キー/
■39040 / inTopicNo.4)  Re[2]: OracleDataReaderで
□投稿者/ いこ (2回)-(2009/07/29(Wed) 17:05:59)
お返事ありがとうございます。
ちなみにエラーは「lblLast.Text = myRead.GetValue(0)」の部分で、
「型'object'は'string'に暗黙的に変換できません。明示的な変換が存在します。
 (castが不足していないかどうかを確認して下さい)」というエラー内容でした。

やじゅさんのおっしゃった通り、ToString()をつけたことでエラーは出なくなりましたが
フォームに表示がされません…。
どこにもエラーは出ていないのですが、なぜなのでしょうか…
引用返信 編集キー/
■39041 / inTopicNo.5)  Re[3]: OracleDataReaderで
□投稿者/ すがり (61回)-(2009/07/29(Wed) 17:18:02)
No39040 (いこ さん) に返信
> お返事ありがとうございます。
> ちなみにエラーは「lblLast.Text = myRead.GetValue(0)」の部分で、
> 「型'object'は'string'に暗黙的に変換できません。明示的な変換が存在します。
>  (castが不足していないかどうかを確認して下さい)」というエラー内容でした。
>
> やじゅさんのおっしゃった通り、ToString()をつけたことでエラーは出なくなりましたが
> フォームに表示がされません…。
> どこにもエラーは出ていないのですが、なぜなのでしょうか…

myRead.GetValue(0).ToString();

↑の中身はどうなってるんでしょ?
この時点で中身がnullとか""なら画面に表示されないのは当たり前ですよね。
引用返信 編集キー/
■39084 / inTopicNo.6)  Re[4]: OracleDataReaderで
□投稿者/ いこ (3回)-(2009/07/30(Thu) 08:39:45)
No39041 (すがり さん) に返信
返事が遅くなり申し訳ありません。
ブレークポイントをつけてデバッグして見ても、
1行ずつ見ることができていないので、
もしかしたら処理を通っていないのでは…
という感じです…。
引用返信 編集キー/
■39086 / inTopicNo.7)  Re[5]: OracleDataReaderで
□投稿者/ .SHO (980回)-(2009/07/30(Thu) 08:43:17)
> 返事が遅くなり申し訳ありません。
> ブレークポイントをつけてデバッグして見ても、
> 1行ずつ見ることができていないので、
> もしかしたら処理を通っていないのでは…
> という感じです…。

だったら、処理が通っているか確認すればいいのでは?
引用返信 編集キー/
■39088 / inTopicNo.8)  Re[5]: OracleDataReaderで
□投稿者/ επιστημη (2071回)-(2009/07/30(Thu) 08:54:28)
επιστημη さんの Web サイト
> もしかしたら処理を通っていないのでは…
> という感じです…。

# デバッグの"コツ"ってやつですな。

lblLast.Text = "結果は" + myRead.GetValue(0).ToString();

とでもすりゃえぇですよ。
通ってるなら "結果は" が表示されるし、
通ってなかったら "" でしょうから。

引用返信 編集キー/
■39090 / inTopicNo.9)  Re[6]: OracleDataReaderで
□投稿者/ いこ (4回)-(2009/07/30(Thu) 08:59:07)
処理が通っているかどうか確認してみたら
やっぱり通ってませんでした…。

もう、何がどうなってるんだか、さっぱり…
引用返信 編集キー/
■39091 / inTopicNo.10)  Re[7]: OracleDataReaderで
□投稿者/ .SHO (983回)-(2009/07/30(Thu) 09:01:10)
> 処理が通っているかどうか確認してみたら
> やっぱり通ってませんでした…。
>
> もう、何がどうなってるんだか、さっぱり…

だったら、なぜ通っていないのか調べるべし。
それがデバッグ。
1歩前進したじゃん^^;
引用返信 編集キー/
■39092 / inTopicNo.11)  Re[7]: OracleDataReaderで
□投稿者/ επιστημη (2072回)-(2009/07/30(Thu) 09:08:15)
επιστημη さんの Web サイト
2009/07/30(Thu) 09:08:59 編集(投稿者)

> 処理が通っているかどうか確認してみたら
> やっぱり通ってませんでした…。

while (myRead.Read()) {
 この中に飛び込んでないってことですか?
 明らかに通るであろうSQL(たとえば "SELECT * FROM XXX" とか)
 を実行して試してみました?
}


引用返信 編集キー/
■39095 / inTopicNo.12)  Re[8]: OracleDataReaderで
□投稿者/ いこ (5回)-(2009/07/30(Thu) 09:56:46)
デバッグして確認してみたところ…

完全に
private void Form1_Load(Object sender, EventArgs e)
{
OracleConnection cnn = new OracleConnection();
cnn.ConnectionString = "User Id=User Id; Password=Password; Dara Source=DataSource";

cnn.Open();

String mySQL1 = "普通のSELECT文です";
OracleCommand myCmd1 = new OracleCommand(mySQL1, cnn);

OracleDataReader myRead = myCmd1.ExecuteReader();

while (myRead.Read())
{
this.lblLast.Text = myRead.GetValue(0).ToString();
}
}
この処理を通っていません…。

その前にある
public Form1()
{
InitializeComponent();
}
この処理で終わってしまっています…
引用返信 編集キー/
■39098 / inTopicNo.13)  Re[9]: OracleDataReaderで
□投稿者/ επιστημη (2073回)-(2009/07/30(Thu) 10:48:08)
επιστημη さんの Web サイト
> 完全に
> private void Form1_Load(Object sender, EventArgs e)
> { ... }
> この処理を通っていません…。

Form1のLoadイベントにこのメソッド:Form1_Loadがアタッチされていますか?
それをやらずに(イベントアタッチせずに)このメソッドを書き加えただけでは
呼んではくれませんょ?

引用返信 編集キー/
■39099 / inTopicNo.14)  Re[10]: OracleDataReaderで
□投稿者/ いこ (6回)-(2009/07/30(Thu) 11:02:19)
No39098 (επιστημη さん) に返信

やっと分かりましたー!!
おっしゃる通り、アタッチされていませんでした↓↓
初歩的すぎる質問ですみませんでした…

いろいろと教えていただき、感謝してます!!
ありがとうございました!!
解決済み
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -