封真様の記事により数値後のLikeをCastに変更をして 実行を行った結果IErrorInfoのエラーボックスが表示されました。 Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Exclamation) にて例外処理されていた為判定されていませんでした。
3)Button1のClickイベントに以下のコードを記述 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Conn As System.Data.OleDb.OleDbConnection Try Conn = New System.Data.OleDb.OleDbConnection Conn.ConnectionString = "…" 'ここは適宜変えてください。 Conn.Open()
Dim selectCMD As System.Data.OleDb.OleDbCommand = New System.Data.OleDb.OleDbCommand selectCMD.Connection = Conn selectCMD.CommandText = "SELECT TEXTCOLUMN, NUMERICCOLUMN FROM DOBON12796" _ + " WHERE TEXTCOLUMN LIKE '%" + Me.TextBox1.Text + "%' AND CAST(NUMERICCOLUMN AS VARCHAR(50)) like '%" + Me.TextBox2.Text + "%'" Dim da As System.Data.OleDb.OleDbDataAdapter = New System.Data.OleDb.OleDbDataAdapter da.SelectCommand = selectCMD
Dim ds As DataSet = New DataSet da.Fill(ds, "DOBON12796")
Dim dt As DataTable = ds.Tables("DOBON12796") Me.DataGrid1.DataSource = dt Catch ex As Exception Trace.WriteLine(ex.StackTrace) Finally If Not IsNothing(Conn) Then Conn.Close() End If End Try End Sub
■No12844に返信(尾白さんの記事) > SELECT * FROM T1 WHERE (COLCHA like '%AA%') and (CAST(COLNUM as VARCHAR(10)) like '%0%')の構文でも判定されました。 > 違う構文でも同じ判定をする事が出来るのは勉強になりました。
えっと・・・ 気分を害されたらごめんなさい。 >Select * From T1 Where (COLCHA ='AA') and (COLNUM=0) >SELECT * FROM T1 WHERE (COLCHA like '%AA%') and (CAST(COLNUM as VARCHAR(10)) like '%0%') の違いってわかりますか? #わかっているのであれば、余計な心配をオレがしているだけなので、 #放置してください。
分類:[.NET]
いつもお世話になっております。
今回の質問ですが、現在VB.NET2003を使用して
2つのテーブルデータ(SQLServer内)を使って画面を作成しているのですが、
Form1で指定したレコード(DB1)のある値(文字列と数値)をフォーム間のデータ受渡を行ってからForm2にて同じ値のレコードのデータ(DB2)を表示を行いたいのです。
以前の#1041「DataGrid(クエリビルダ)での抽出条件」の
WHERE以降を(文字列 like'* " & Me.TextBox1.Text & "*') and (数値 like'* " & Me.TextBox2.Text & "*')"としましたが判定してくれない為
お知恵をお借りしたく思います