介于另一列的值之间
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;
这是我的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;