Проверьте несколько условий, используя C# в aspnet - PullRequest
1 голос
/ 19 марта 2020

В таблице MySQL Я запомнил эти значения:

+---+-------+------+
| A | B     | C    |
+---+-------+------+
| 0 | 16,11 | 3,08 |
+---+-------+------+
1 row in set

Мне нужно проверить это условие, используя C# как pnet:

if (A < 0.1 && B > 1 && (C >= 1 && C <= 4))

Когда все условия выполняются, мне нужно установить для столбца D значение true.

Столбцы A, B и C устанавливаются как десятичное значение 10,2.

Но на выходе это ложь.

Как мне решить эту проблему?

Редактировать # 01

            A = Convert.ToDouble(dt.Rows[0]["A"]);  //a
            B = Convert.ToDouble(dt.Rows[0]["B"]);  //b
            C = Convert.ToDouble(dt.Rows[0]["C"]);  //c

Редактировать # 02

enter image description here

Ответы [ 3 ]

0 голосов
/ 19 марта 2020

Ваше состояние верно и должно работать правильно.

Вы уверены в значении A, B, C?

0 голосов
/ 19 марта 2020

Надеюсь, этот код поможет вам: -

Double[] Aarr= A.Split(',');
Double[] Barr= B.Split(',');
Double[] Carr = C.Split(',');

long ACount = Aarr.Where(x => x < 0.1).Count();
long BCount = Barr.Where(x => x > 1).Count();
long CCount = Carr.Where(x => x >= 1 && x <= 4).Count();

if((ACount == 1) && (BCount == 1) && (CCount == 1)
{
    //Your Code
}

Спасибо !!!

0 голосов
/ 19 марта 2020

Вы, кажется, хотите простой update запрос:

update mytable
set d = 1
where a < 0.1 and b > 1 and c >= 1 and c <= 4

. Это установит d в 1, где условия удовлетворены.

Если вы хотите установить до 0 или 1 в зависимости от того, выполнены условия или нет:

update mytable
set d = (a < 0.1 and b > 1 and c >= 1 and c <= 4)
...