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

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

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

Re[4]: DataGridViewへの表示のさせ方


(過去ログ 82 を表示中)

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

■48787 / inTopicNo.1)  DataGridViewへの表示のさせ方
  
□投稿者/ tks (10回)-(2010/04/14(Wed) 14:32:01)

分類:[C#] 

2010/04/14(Wed) 15:05:44 編集(投稿者)
2010/04/14(Wed) 15:05:41 編集(投稿者)
2010/04/14(Wed) 14:33:34 編集(投稿者)

<pre><pre>先日も質問し、DBからのデータ表示などはうまくいっているのですが、DBから検索をかける時にSelect文の条件文がうまく入りません。

皆様の知恵を借りられませんでしょうか?
現在は郵便番号から住所を検索するものを作成中です。

以下ソースです。

//textBox1は前方3桁、textBox2は後方4桁の郵便番号が入る
String txt = textBox1.Text + textBox2.Text;

DataView dView;
System.Data.OleDb.OleDbDataAdapter dAdp;
DataSet dSet = new DataSet("KEN_ALL");
System.Data.OleDb.OleDbConnection cn =
new System.Data.OleDb.OleDbConnection(
"Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=ZipDB.mdb;");
// データセットに取得し、DataGridViewに関連付ける
dAdp = new System.Data.OleDb.OleDbDataAdapter("select * from KEN_ALL WHERE zip LIKE 'txt%'", cn);
dAdp.Fill(dSet, "KEN_ALL");
dView = new DataView(dSet.Tables["KEN_ALL"],
"", "", DataViewRowState.CurrentRows);
this.dataGridView1.DataSource = dView;



お聞きしたいこととしては、WHERE部分で使っている変数を検索条件に指定することはできないのか?です。
文字列として郵便番号をそのまま入れると表示されるのですが変数にいれて渡すと変数には入っていて、WHEREのところまで渡っているのに表示はされないという現象です。

エラーも特に警告されません。

以上、お願いいたします。</pre></pre>
引用返信 編集キー/
■48796 / inTopicNo.2)  Re[1]: DataGridViewへの表示のさせ方
□投稿者/ ヴァン (69回)-(2010/04/14(Wed) 15:22:32)
No48787 (tks さん) に返信

こんにちは。

>"select * from KEN_ALL WHERE zip LIKE 'txt%'"

単純に、"100"な郵便番号を探したい場合、txt には "100" が入っていて、
そこから、

"select * from KEN_ALL WHERE zip LIKE '100%'"

と言う文字列を作ればいいんですよね。




引用返信 編集キー/
■48797 / inTopicNo.3)  Re[2]: DataGridViewへの表示のさせ方
□投稿者/ tks (11回)-(2010/04/14(Wed) 15:44:28)
No48796 (ヴァン さん) に返信
> ■No48787 (tks さん) に返信
>
> こんにちは。
>
> >"select * from KEN_ALL WHERE zip LIKE 'txt%'"
>
> 単純に、"100"な郵便番号を探したい場合、txt には "100" が入っていて、
> そこから、
>
> "select * from KEN_ALL WHERE zip LIKE '100%'"
>
> と言う文字列を作ればいいんですよね。



返信ありがとうございます。おっしゃるとおりです。
説明が下手で申し訳ないです。
実際には郵便番号を入力するtextboxが二つありまして、textbox1とtextbox2なのですが
ソースの上の方でString txt = textBox1.Text + textBox2.Text;というように二つのtextboxを結合させて7桁にしております。

それを"select * from KEN_ALL WHERE zip LIKE 'txt%'"として入れています。

引用返信 編集キー/
■48801 / inTopicNo.4)  Re[3]: DataGridViewへの表示のさせ方
□投稿者/ ヴァン (70回)-(2010/04/14(Wed) 17:22:46)
No48797 (tks さん) に返信

> それを"select * from KEN_ALL WHERE zip LIKE 'txt%'"として入れています。

それじゃ入れてないわけで...

"select * from KEN_ALL WHERE zip LIKE '" + txt + "%'"

とするのでは?



引用返信 編集キー/
■48805 / inTopicNo.5)  Re[4]: DataGridViewへの表示のさせ方
□投稿者/ みきぬ (862回)-(2010/04/14(Wed) 17:56:42)
「文字列を連結して前方一致で検索」で果たしていいのかという疑問はあるけど。
例えば、TextBox1 は空欄のままで、TextBox2 に何か入れた場合とか。

# いや、そういう探し方をする人はいないかもしれないけどさ
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -