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

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

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

Re[3]: if文


(過去ログ 68 を表示中)

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

■39319 / inTopicNo.1)  if文
  
□投稿者/ あおい (6回)-(2009/08/05(Wed) 11:41:06)

分類:[C#] 

度々すみません。

テキストボックスが4つ配置してあって、そのテキストボックスに
入力してある値を検索条件にしてデータを表示させるという
プログラムを書きたいのですが…

また初歩的なことで大変お恥ずかしいですがよろしくお願いします。

OracleConnection cnn = new OracleConnection();
cnn.ConnectionString = "User Id=User Id; Password =Password; Data Source=Data Source;

cnn.Open();

if (textbox1 == "" && textbox2 == "" && textbox3 == "")
{
String mySQL = "SELECT文";
OracleCommand myCmd = new OracleCommand(mySQL, cnn);
OracleDataReader myRead = myCmd2.ExecuteReader();

while (myRead2.Read())
{
int i = 0;

WB.Sheets[0][0, i].Text = myRead2.GetValue(0).ToString();
WB.Sheets[0][1, i].Text = myRead2.GetValue(1).ToString();
WB.Sheets[0][2, i].Text = myRead2.GetValue(2).ToString();
WB.Sheets[0][3, i].Text = myRead2.GetValue(3).ToString();
WB.Sheets[0][4, i].Text = myRead2.GetValue(4).ToString();
WB.Sheets[0][5, i].Text = myRead2.GetValue(5).ToString();
WB.Sheets[0][6, i].Text = myRead2.GetValue(6).ToString();
WB.Sheets[0][7, i].Text = myRead2.GetValue(7).ToString();

i = i + 1;
}

このように記述すると

if (textbox1 == "" && textbox2 == "" && textbox3 == "")

この部分でエラーが出ます。
エラー内容は以下です。
『演算子'=='を 'System.Windows.Forms.TextBox'と'string'型のオペランドに適用することはできません。』

よろしくお願いします。
引用返信 編集キー/
■39320 / inTopicNo.2)  Re[1]: if文
□投稿者/ 魔界の仮面弁士 (1180回)-(2009/08/05(Wed) 11:58:46)
No39319 (あおい さん) に返信
> if (textbox1 == "" && textbox2 == "" && textbox3 == "")
> この部分でエラーが出ます。
エラーに書かれているように、「==」の左辺と右辺の型が違っているからです。

その場合には、string 型同士で比較するか、
 if (textbox1.Text == "" && textbox2.Text == "" && textbox3.Text == "")
もしくは、数値として
 if (textbox1.TextLength == 0 && textbox2.TextLength == 0 && textbox3.TextLength == 0)
という比較になるでしょう。


> テキストボックスが4つ配置してあって、そのテキストボックスに
> 入力してある値を検索条件にしてデータを表示させるという
> プログラムを書きたいのですが…
入力値を検索条件にしたいのですよね。

しかし、提示された if 文では、「何も入力されていなかったときに、データを表示させる」という
コードになっていますが、本当にその条件で良いのでしょうか?
引用返信 編集キー/
■39322 / inTopicNo.3)  Re[1]: if文
□投稿者/ επιστημη (2081回)-(2009/08/05(Wed) 12:02:59)
επιστημη さんの Web サイト
> if (textbox1 == "" && textbox2 == "" && textbox3 == "")

if (textbox1.Text == "" && textbox2.Text == "" && textbox3.Text == "")
でわなくて?

引用返信 編集キー/
■39325 / inTopicNo.4)  Re[2]: if文
□投稿者/ すがり (67回)-(2009/08/05(Wed) 12:15:21)
while (myRead2.Read())
{
int i = 0;

WB.Sheets[0][0, i].Text = myRead2.GetValue(0).ToString();
WB.Sheets[0][1, i].Text = myRead2.GetValue(1).ToString();
WB.Sheets[0][2, i].Text = myRead2.GetValue(2).ToString();
WB.Sheets[0][3, i].Text = myRead2.GetValue(3).ToString();
WB.Sheets[0][4, i].Text = myRead2.GetValue(4).ToString();
WB.Sheets[0][5, i].Text = myRead2.GetValue(5).ToString();
WB.Sheets[0][6, i].Text = myRead2.GetValue(6).ToString();
WB.Sheets[0][7, i].Text = myRead2.GetValue(7).ToString();

i = i + 1;
}

本件と無関係なんですが、これだとiは常に0だと思うんですが、
意図した動作ですか?
引用返信 編集キー/
■39348 / inTopicNo.5)  Re[3]: if文
□投稿者/ あおい (7回)-(2009/08/06(Thu) 09:46:46)
遅くなってしまい、申し訳ないです。

魔界の仮面弁士さん
ありがとうございます。

本当は『textbox4にデータが入っている場合』というような
条件をかけたいのですが、いまいちよく分からなかったので
とりあえずそれ以外のテキストボックスが空白だったとき
というような条件を指定しているだけです…。

επιστημηさん
そうです。
私が間違えていました…。

すがりさん
確かにそうですね(゚゚;)
指摘されるまで全然気づいてませんでした…。

総じて、お恥ずかしいです。
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -