介于另一列的值之间

between with values from another column

这是我的table

的内容
tbl_range
RID // Primary Key , INT
RangeFrom // Starting Range , DOUBLE
RangeTo // End Range , DOUBLE
EE // Output , DOUBLE

所以我要执行的查询是

SELECT EE FROM db.tbl_range WHERE RangeFrom <= @GP AND RangeTo >= @GP;

我尝试了 运行 sql 上的查询并且它有效但在 c# 中我没有 return 任何东西,这是我的代码

cc.SetCMD("SELECT EE FROM mia_payroll.tbl_sssrange WHERE RangeFrom <= @GP AND RangeTo >= @GP;");
using (myConn = new MySqlConnection(ConnectionClass.GetConnection()))
{
   myConn.Open();
   using (cmDB = new MySqlCommand(cc.GetCMD(), myConn))
   {
      cmDB.Parameters.AddWithValue("@GP", GP);

     try
     {
        using (myReader = cmDB.ExecuteReader())
        {
           while (myReader.Read())
           {
               ee = myReader.GetOrdinal("EE");
               lblEE.Text = System.Convert.ToString(ee);
           }
        }
     }
     catch (Exception ex)
     {
        MessageBox.Show(ex.Message);
     }
 }
 myReader.Close();
 myConn.Close();
        }
    }

并且 GP 是用户定义的

不要使用GetOrdinal,试试:

while (myReader.Read())
{
  lblEE.Text = myReader[0].ToString();      
}

你的逻辑错了,GP一定在范围内

SELECT EE FROM db.tbl_range WHERE @GP BETWEEN RangeFrom AND RangeTo;