vbのアクセスデータベースから取得できません。ここでは、問題を指して私のコードは次のとおりです。数値の比較でvbのアクセスデータベースから選択できません
`cmd.CommandText = "SELECT distinct(brought_date) from brought_coffee where crop_year =? order by brought_date"
cmd.Parameters.Add("@ccy", OleDb.OleDbType.Integer).Value = Convert.ToInt32(cyrNote.SelectedItem.Trim)
myData = cmd.ExecuteReader
'MessageBox.Show(cyrNote.SelectedItem.Trim)
While myData.Read()
dte = myData(0)
dtComb.Items.Add(dte)
End While
MessageBox.Show("dt1" & dte)`
私がここに持っている問題は、間の比較が?
iはコンボボックスcyrNote
から取得してみた値であるConvert.ToInt32(cyrNote.SelectedItem.Trim)
のプレースホルダですcrop_year =?
であるように私には思えますConvert.ToInt32()
を使用して整数に変換し、データベースの整数として定義されているデータベース値crop_year
と比較することができます。しかし、ここでの問題はselectがnullを返すことです。私は、プレースホルダ?
を "2011"のような既知の値に置き換えようとしました。値が返されました。これは、私の比較crop_year=Convert.ToInt32(cyrNote.SelectedItem.Trim)
が負であることを意味しますが、私は何か肯定的なものを期待しています。私は整数に変換する方法についてgoogleを試みました、そして、それは私が得ることができる最高です。誰かがこの変換がどうやってうまくやっていいのか、言い換えれば私のコードで何が問題になるのか教えてくれますか?
のいずれかを使用する必要がありますか?それが2011を示すならば、すべてうまくいくはずです。 –
メッセージボックスには、日付変数 '00:00:00'のデフォルト値が表示されますが、' 09/05/2012'のようなものが返されるはずです。これはおそらく、データが読み取られていないことを意味します – ken
私はこれを意味しました:* MessageBox.Show(cyrNote.SelectedItem.Trim)* –