実際の値とユーザーが入力した値を比較するために、このコードを記述しました。Specという名前のテーブルに実際の値を設定しました
sampleID Category WheatType Silo M_Min M_Max WG_Min WG_Max
1001 1BK AGP 1 25.00 27.00
1002 1BK AGP 21 25.00 28.00
これは値を比較するためのコードです
sql = "SELECT * FROM Spec WHERE WheatType= '" & ddlType.SelectedValue & "' AND Category='1BK' AND Silo='" & txtSilo.Text & "'"
cmd = New OleDbCommand(sql, cnnOLEDB)
cnnOLEDB.Open()
Dim dr As OleDbDataReader
dr = cmd.ExecuteReader()
While dr.Read()
Try
If txtHB43S.Text >= dr("M_Min").ToString() And txtHB43S.Text <= dr("M_Max").ToString() Then
stsHB43S.Text = "Pass"
ElseIf txtHB43S.Text <= dr("M_Min").ToString() And txtHB43S.Text >= dr("M_Max").ToString() Then
stsHB43S.Text = "Failed"
stsHB43S.ForeColor = System.Drawing.Color.Red
ElseIf txtHB43S.Text <> dr("M_Min").ToString() And txtHB43S.Text <> dr("M_Max").ToString() Then
stsHB43S.Text = ""
Else
stsHB43S.Text = ""
End If
If txtGlutematic.Text >= dr("WG_Min").ToString() And txtGlutematic.Text <= dr("WG_Max").ToString() Then
stsGluten.Text = "Pass"
ElseIf txtGlutematic.Text <= dr("WG_Min").ToString() And txtGlutematic.Text >= dr("WG_Max").ToString() Then
stsGluten.Text = "Failed"
stsGluten.ForeColor = System.Drawing.Color.Red
ElseIf txtGlutematic.Text <> dr("WG_Min").ToString() And txtGlutematic.Text <> dr("WG_Max").ToString() Then
stsGluten.Text = ""
Else
stsGluten.Text = ""
End If
問題は、の値を入力しただけの場合txtHB43S.Text = 25.00, Silo=1 and WheatType='AGP'
、ステータスはで表示'Pass'
されますstsHB43S
が、stsGlutenでは表示されます'pass'
。
出力
HB43s = 25.00 stsHB43S=Pass
Gluten = - stsGluten =Pass
誰かが私を助けることができます