Datatable.Selectメソッドの検索条件に変数を使いたい
投稿者 YuO  (社会人)
投稿日時
2010/6/23 00:48:27
DataTable.Selectは残念ながら文字列でのみfilterExpressionを受け付けます。
このため,
Dim Search() As DataRow = Testdatatable.Select("goodsNumber = " & hensuu)
のように,文字列演算で条件式を作ってください。
このため,
Dim Search() As DataRow = Testdatatable.Select("goodsNumber = " & hensuu)
のように,文字列演算で条件式を作ってください。
投稿者 yatuka  (学生)
投稿日時
2010/6/23 02:45:29
ご回答ありがとうございます。
お陰様で無事意図したとおりに動作させることができました。制作を進めると共に
文字列演算についても勉強しようと思います。
お陰様で無事意図したとおりに動作させることができました。制作を進めると共に
文字列演算についても勉強しようと思います。
投稿者 流れ者  (社会人)
投稿日時
2010/6/23 08:13:04
おはようございます。
>文字列演算についても勉強しようと思います。
いや、そんなに身構えなくても、”&” や ”+”で文字列をつなげられるといったことぐらいで、
注意点としては、"+"は数値演算にも使われるから、文字列の連結には使用しない方が良いといったところです。
もし勉強されるのであれば、文字列関数等の”関数”を勉強したほうが良いと思います。
>文字列演算についても勉強しようと思います。
いや、そんなに身構えなくても、”&” や ”+”で文字列をつなげられるといったことぐらいで、
注意点としては、"+"は数値演算にも使われるから、文字列の連結には使用しない方が良いといったところです。
もし勉強されるのであれば、文字列関数等の”関数”を勉強したほうが良いと思います。
投稿者 るしぇ  (社会人)
投稿日時
2010/6/23 10:23:41
> もし勉強されるのであれば、文字列関数等の”関数”を勉強したほうが良いと思います。
のヘルプでは「文字列操作関数」といったキーワードで引っ掛かるページに
まとまっていましたが、.NET 以降 String クラスにまとまったので、メンバの
ページを見れば10分ぐらいで概要はつかめるようになりましたね。
[String メンバ]
http://msdn.microsoft.com/ja-jp/library/system.string_members.aspx
のヘルプでは「文字列操作関数」といったキーワードで引っ掛かるページに
まとまっていましたが、.NET 以降 String クラスにまとまったので、メンバの
ページを見れば10分ぐらいで概要はつかめるようになりましたね。
[String メンバ]
http://msdn.microsoft.com/ja-jp/library/system.string_members.aspx
ふとプログラムに興味を持ち、手始めにでDatatableの中身を検索し表示する
プログラムを作ろうとしています。
Datatable.Selectの検索条件に変数を使うことはできませんでしょうか。
以下のようにコードを書いた場合はうまく動くのですが、
'テーブルの作成・列の定義
Dim Testdatatable As DataTable = New DataTable
Testdatatable.Columns.Add("GoodsName")
Testdatatable.Columns.Add("GoodsNumber")
'行の追加
Dim TestNewrow As DataRow = Testdatatable.NewRow
TestNewrow("GoodsName") = "test"
TestNewrow("GoodsNumber") = "12345"
Testdatatable.Rows.Add(TestNewrow)
'検索・商品名の表示
Dim Search() As DataRow = Testdatatable.Select("goodsNumber = 12345")
MsgBox(Search(0).Item("goodsname"))
一番下の部分をこのように書き換えると「列[hensuu]が見つかりません」とのエラーが出てしまい動きません。
'検索・商品名の表示
Dim hensuu As String = "12345"
Dim Search() As DataRow = Testdatatable.Select("goodsNumber = hensuu")
MsgBox(Search(0).Item("goodsname"))
変数を使って検索できるようにしたいのですが、その方法がMSDN等を読んでもどうしても分かりません。
良い方法がありましたらご教示頂ければ幸いです。