Флажки C#WPF

Я застрял с проблемой, касающейся флажков из приложения WPF в базу данных SQL.

Я достиг точки, когда я могу обновить значение определенного элемента в базе данных, но я могу только обновить значение или от 0 до 1 или от 1 до 0, я ищу что-то вроде оператора IF, и я думаю, что я близок к решению, но код не работает и выдает ошибку "рядом с ошибкой =" ПОЖАЛУЙСТА

private void Row_DoubleClick(object sender, MouseButtonEventArgs e)
    {

        sqliteCon.Open();

        if (sqliteCon.State == System.Data.ConnectionState.Open)
            {

            var currentRowIndex = dataGrid1.Items.IndexOf(dataGrid1.CurrentItem);

            //FROM 0 TO 1
            // string q = "UPDATE tabList Set selection = '" + 1 + "' WHERE idL = "+ (currentRowIndex= currentRowIndex+1);


            //TEST4
            string q = @"UPDATE tabList
                         SET selection = (CASE 
                                            WHEN tabList.selection.Value = ' 0 '
                                            THEN tabList.selection.Value = ' 1'
                                            ELSE tabList.selection.Value = '  0  '
                                        END)
                     WHERE idL = " + (currentRowIndex = currentRowIndex + 1);





            SqlCommand cmd = new SqlCommand(q, sqliteCon);
                cmd.ExecuteNonQuery();
                MessageBox.Show("Dato Modificato");

            }
        sqliteCon.Close();
    }

Ваш sql неверен, также вы не можете получить доступ к объектным переменным внутри двойных кавычек.... tabList.selection.value будет восприниматься как строка, а не значение флажка

peeyush singh 19.03.2019 09:22
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
1
78
2

Ответы 2

Пожалуйста, замените это.

 string q = @"UPDATE tabList
               SET selection = (CASE  WHEN " + tabList.selection.Value.ToString() + " = 0 " 
                                       + " THEN 1 ELSE   0  END) WHERE idL = " + (currentRowIndex + 1);

Sintassi non corretta in prossimità di '='.'

user11094517 19.03.2019 09:59

System.Data.SqlClient.SqlException: «Синтаксис неисправен в предположении о '='.' это война против С#

user11094517 19.03.2019 10:06

пожалуйста, получите решение для обновления. Я надеюсь, что это работает нормально

Morang 19.03.2019 10:12

я обновляю визуальную студию, подождите меня, пожалуйста

user11094517 19.03.2019 10:23

System.Data.SqlClient.SqlException: «невозможно вызвать методы для бита».

user11094517 19.03.2019 10:44

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

Morang 19.03.2019 10:46

бит, потому что мне нужен логический тип данных, а в sql бит, правда или ложь, 0 или 1

user11094517 19.03.2019 10:48

Пожалуйста, получите новое решение

Morang 19.03.2019 10:58

Пожалуйста, получите новое решение

Morang 19.03.2019 11:01

он не находит выбор

user11094517 19.03.2019 11:04

Какое значение получить из "tabList.selection.Value"?

Morang 19.03.2019 11:05

Gravità Код Описание Файл проекта Рижский статус Устранение ошибки CS0103 имя «выбор» не существует в этом контексте

user11094517 19.03.2019 11:06

выбор не найден в вашей таблице (табличный список)

Morang 19.03.2019 11:07

выбор находится в tabList

user11094517 19.03.2019 11:09

ТАК? НИЧЕГО БОЛЬШЕ?

user11094517 19.03.2019 13:13

вам может не хватать одинарной кавычки. Попробуйте заменить на это.

 //TEST4
        string q = @"UPDATE tabList
                     SET selection = (CASE 
                                        WHEN tabList.selection.Value = ' 0 '
                                        THEN tabList.selection.Value = ' 1'
                                        ELSE tabList.selection.Value = '  0  '
                                    END)
                 WHERE idL = '" + (currentRowIndex = currentRowIndex + 1) + "'";

пожалуйста, дайте мне знать, если это работает. :)

System.Data.SqlClient.SqlException: «Синтаксис неисправен в предположении о '='.' такая же ошибка :'(

user11094517 19.03.2019 10:02

Другие вопросы по теме