C# преобразовывают бит в булевскую переменную

Поздравления.

У меня есть база данных SQL-сервера MS то поле данных содержания BIT ввести.

это поле будет иметь также 0 или 1 значения для представления лжи и верный.

Я хочу, когда я получаю данные для преобразования значения, я добрался до false или true не используя если-условие преобразовать данные в false если это 0 или true если это 1.

Я задаюсь вопросом, существует ли функция в C#, сделал бы это прямое путем передачи битовых значений ему?

25
задан abatishchev 4 May 2010 в 17:19
поделиться

5 ответов

Это может зависеть от того, как вы выполняете запросы SQL. Например, если у вас есть считыватель данных , вы можете напрямую прочитать логическое значение :

using (var conn = new SqlConnection(ConnectionString))
using (var cmd = conn.CreateCommand())
{
    conn.Open();
    cmd.CommandText = "SELECT isset_field FROM sometable";
    using (var reader = cmd.ExecuteReader())
    {
        while (reader.Read())
        {
            bool isSet = reader.GetBoolean(0);
        }
    }
}
29
ответ дан 28 November 2019 в 17:52
поделиться

GetBoolean сделает это автоматически.

5
ответ дан 28 November 2019 в 17:52
поделиться

Как вы извлекаете поля из базы данных?

Класс SqlDataReader имеет метод GetBoolean который выполняет перевод за вас:

bool yourBoolean = reader.GetBoolean(reader.GetOrdinal("Your_Bit_Column"));
13
ответ дан 28 November 2019 в 17:52
поделиться
DataReader.GetBoolean(x)

или

Convert.ToBoolean(DataRow[x])
34
ответ дан 28 November 2019 в 17:52
поделиться

SqlDataSource из ASP.NET 2.0 возвращает 0 и 1 для полей BIT .

SqlDataSource из ASP.NET 4.0 возвращает соответствующую строку - Boolean.TrueString ( «True» ) или Boolean.FalseString ( «Ложь» ).

2
ответ дан 28 November 2019 в 17:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: