繁体   English   中英

与另一列中的值之间

[英]between with values from another column

这是我桌子的内容

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#中我什么都不返回,这是我的代码

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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM