###前提・実現したいこと
C#のAdo.netでBaseballデータベースのPlayerというテーブルを読み込んでいます。
UserがMinimum valueとMaximum valueテキストボックスに値を入力し、ボタンクリックでその範囲に該当するBattingAverageコラムのレコードを呼び出すことになってます。
(0.000と1.000はデフォルト値です)
###発生している問題・エラーメッセージ
stringからdecimalのConvertに失敗してるようで下記のようなエラーが出ます。
###該当のソースコード
dbcontext.Players.Where(player => player.BattingAverage >= Convert.ToDecimal(txtMin.Text) || player.BattingAverage <= Convert.ToDecimal(txtMax.Text)).OrderBy(player => player.PlayerID).Load();
###試したこと
BattingAverageコラムに**AsEnumerable()**を追加してみましたが同じエラーが出ます。
dbcontext.Players.Where(player => player.BattingAverage.AsEnumerable() >= Convert.ToDecimal(txtMin.Text) || player.BattingAverage.AsEnumerable() <= Convert.ToDecimal(txtMax.Text)).OrderBy(player => player.PlayerID).Load();
ラムダ式を使わず普通にクエリを書いてみましたが、こちらも同じエラーが出ます。
var query = from player in dbcontext.Players where player.BattingAverage >= Convert.ToDecimal(txtMin.Text) || player.BattingAverage <= Convert.ToDecimal(txtMax.Text) select player; playerBindingSource.DataSource = query.ToList(); playerBindingSource.MoveFirst();
###補足情報(言語/FW/ツール等のバージョンなど)
読み込んだデータベースのBattingAverageコラムはDecimalで、こちらの値は変えられないことになっております。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。