如何使用来自oracle的数据在C#上计算?

how to use in data from oracle to calculate on C#?

我在 Oracle 中有一个 table,其中包含大量数据。在结构中:

code_value    date_value     value
1             20/07/2017      10.5
1             19/07/2017      11.6
2             20/07/2017      1000.22
2             18/07/2017      1700.44

我有另一个 table 定义了此数据的测试: 其结构如下:

code_value      check_rule      check_period    connection_rule
1                16%            w               or
1                30%            m               or
1                50%            y               or
2                130%           w               and
2                110%           6m              and

*p.s。 "check_period": w - 周,m - 月,y - 年。
** p.s。我仍在争论是否将此列拆分为两列:一列用于时间量,一列用于时间类型(例如:6,m)。

我想在 table 上用数据在 C# 上进行 table 和 运行 测试。
但我不知道如何开始:
如何从 table 中获取一个值并用它来计算? 例如:
如果我选择第一行,16% check_rule,我会做:
var a = check_rule[0];
如何查看周涨幅是否为16%?
同样如何在 "connection_rule"?

上使用 OR

我真的希望我的问题足够清楚。

谢谢你!

OracleConnection conn = new OracleConnection("Your Connection string");
conn.Open();
DataSet dataSet = new DataSet();
OracleCommand cmd = new OracleCommand(
    "SELECT * FROM TABLE1 t inner join TABLE2 t1 on t.code_value = t1.code_value"
);
cmd.CommandType = CommandType.Text;
cmd.Connection = conn;

using (OracleDataAdapter dataAdapter = new OracleDataAdapter())
{
  dataAdapter.SelectCommand = cmd;
  dataAdapter.Fill(dataSet);
}

DataTable dt = ds.Tables[0];
//loop through table's rows/columns
var myVal = ParseToDouble(dt.Rows["value"].ToString());
var checkRule = ParseToDouble(dt.Rows["check_rule"].ToString());

if(myVal < checkRule)
   doSomething();


public double ParseToDouble(string s)
{
    return decimal.Parse( s.TrimEnd('%') ) / 100M;
}