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

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

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

検索した結果をDataGridに表示したいです。


(過去ログ 2 を表示中)

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

■2176 / inTopicNo.1)  検索した結果をDataGridに表示したいです。
  
□投稿者/ けんじ 二等兵(2回)-(2005/12/20(Tue) 23:56:23)

分類:[VB.NET] 


分類:[VB.NET] 


はじめまして。超初心者のものです。全くプログラムを組んだことないのですが、わけあって今月からVB.NETを使用しデータベースを作らされています。知識不足を承知で質問させていただきます。

現在フォームに OleDbDataAdapter1 OleDbConnection1 DataSet11 TextBox1 Button1
が配置されております。DataGrid1ではテーブル表示ができています。

今回質問したい内容は、TextBox1に検索したい文字を書き込み、Button1を押すとそれにヒットするものだけがDataGridに表示されるようにしたいと思っております。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim filterString As String

'入力された条件の前後に"%"を付けて、絞り込み条件を部分一致にする
filterString = "%" & TextBox1.Text & "%"

'SQL文の定義
OleDbDataAdapter1.SelectCommand.CommandText = "SELECT * FROM testt condition " & "WHERE 02継手形式コード LIKE '" & filterString & "'"

'データセットを初期化して、データアダプタからデータを読み込む
DataSet11.Clear()
OleDbDataAdapter1.Fill(DataSet11, "testt condition")
End Sub

というようなコードを本を参考に作成してみましたが
OleDbDataAdapter1.Fill(DataSet11, "testt condition")の部分でハンドルされていない例外...なるものが出てきてエラーがでます。上記したコードで検索機能を作成できているかもいまいちわかりません。もっといいコードがあれば参考にさせていただきたいと思います。エラーの原因を解決するにはどのようにすればいいか教えていただけるとうれしいです。初心者ですが、よろしくお願いいたします。


0
引用返信 編集キー/
■2189 / inTopicNo.2)  Re[1]: 検索した結果をDataGridに表示したいです。
□投稿者/ けんじ 二等兵(3回)-(2005/12/21(Wed) 18:29:53)

分類:[VB.NET] 

自分に返信してすみません.もしよろしければ,ヒントでもいいので,何かご指摘してもらえると嬉しいです.よろしくお願いいたします.

0
引用返信 編集キー/
■2191 / inTopicNo.3)  Re[2]: 検索した結果をDataGridに表示したいです。
□投稿者/ 特攻隊長まるるう 二等兵(1回)-(2005/12/22(Thu) 11:04:51)

分類:[VB.NET] 

まずはSQL文が正しくないだろうと思います。
テーブル名に半角スペースを含んでるようですが、
>SELECT * FROM testt condition
この時点でデータベースは testt というテーブルからと
判断します。そんな変なテーブル名を使うのが悪いんですが、
 SELECT * FROM [testt condition]
とすればうまくいくかもしれません。
で、SQL文にはデータベースの種類によって方言があります。
何をデータベースに使ってるか書いてありませんよね?。
OleDbDataAdapter1 ということは通常、Access だと思いますが、
Access の絞込検索は”%”ではなく”*”を使います。

接続のテストとかは正常にできてるんですよね?まずは
もっと簡単なSQL文でデータが表示されることを確認してみては?
表示されるようになったら、あとはSQL文が正しければ表示できる
と思います。VB側では詳しいエラー内容が表示されないかも
しれません。データベースに Access やクエリアナライザ等の
直接SQL文を実行できる環境でSQL文のテストをしてください。

0
引用返信 編集キー/
■2192 / inTopicNo.4)  Re[3]: 検索した結果をDataGridに表示したいです。
□投稿者/ けんじ 二等兵(4回)-(2005/12/22(Thu) 17:08:44)

分類:[VB.NET] 

特攻隊長まるるうさんご返信ありがとうございました.
まずデータベースに何を使っているか表記していなかったことをお詫びいたします.
ACCESSのテーブルを使ってDataGridに表示しています.
初心者で全くわからないので,教本をサンプルコードとして作成していまして,具体的にどのようにプログラムを組めばいいのか分かっていません.本来なら知識があってからプログラムを組まないといけなと思っているのですが,諸事情で年内にデータベース開発しないといけなくなり投稿させていただきました.
特攻隊長まるるうさんご指摘の通り”*”に変え,[testt condition]ともいたしました.しかし最初の投稿通りOleDbDataAdapter1.Fill(DataSet11, "testt condition")の部分でハンドルされていない例外...なるものが出てきてエラーがでます。これはプログラムがおかしいのでしょうか?知識不足を大変申し訳なく思います.

0
引用返信 編集キー/
■2193 / inTopicNo.5)  Re[4]: 検索した結果をDataGridに表示したいです。
□投稿者/ 特攻隊長まるるう 二等兵(2回)-(2005/12/22(Thu) 18:43:26)

分類:[VB.NET] 

接続文字列が悪いんじゃないの?
http://homepage2.nifty.com/inform/vbdb/net_mdb.htm
を参考に接続が開けるか?確認してください。

その後、テスト用テーブル(テーブル名に半角スペースの無いもの)
を作成して、一番単純なSELECT文でデータが取得できることを
確認してください。

>これはプログラムがおかしいのでしょうか?
そりゃそうでしょ。Access に接続できてるサンプルコードは無数にありますよ。
そもそも1度でもデータの取得に成功したことはあるのでしょうか?
いきなり難しい設定で実行して『エラーが出ます』では話になりません。
単純な設定で実行して成功を確認してからより複雑な設定へ変更して
いって下さい。成功が失敗になった所に原因があると分かります。

原因を追求できる『問題点の切分け』ができるようになってください。

0
引用返信 編集キー/


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

このトピックに書きこむ

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

管理者用

- Child Tree -