Форум программистов, компьютерный форум, киберфорум
C#: Базы данных, ADO.NET
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
3 / 3 / 1
Регистрация: 26.11.2013
Сообщений: 30
1
SQLite

Ошибка при попытке обновить содержимое в таблице

26.01.2015, 09:06. Показов 1186. Ответов 3
Метки нет (Все метки)

Здравствуйте, столкнулся с проблемой, помогите если не сложно)
При попытке обновить записи в БД возникает ошибка типа поле не уникально, почему? я же апдейчу, а не инсерчу. (Поле username - unique, id - pk, остальные просто not null)
Изображение:
Ошибка при попытке обновить содержимое в таблице

Код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private void button2_ok_Click(object sender, EventArgs e)
        {
            SQLiteConnection sqliteCon = new SQLiteConnection(dbConnectionString);
            
            try
            {
                sqliteCon.Open();
                string query = "update users set username='" + this.textBox1_username.Text + "', password='" + this.textBox2_password.Text + "', sgroup='" + this.textBox3_sgroup.Text + "' where id='" + Form1.GetUserId() + "'";
                SQLiteCommand createCommand = new SQLiteCommand(query, sqliteCon);
 
                createCommand.ExecuteNonQuery();
                MessageBox.Show("Success");
                this.Close();
 
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            sqliteCon.Close();
        }
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.01.2015, 09:06
Ответы с готовыми решениями:

При попытке обновить Windows 10 - ошибка 0xc0000096. Что делать?
При попытке установить обновление Win10 система отказала и выдала ошибку 0xc0000096. Плз,...

При попытке обновить запись в базе данных вываливается ошибка Syntax Error из-за пробелов в тексте.
В Textarea загружается из базы данных(MSSQL server) текст с пробелами, где этот текст может...

Ошибка при попытке создать форму редактирования данных в таблице
Добрый день, срочно нужна помощь. Пишу курсовой проект, сдача в понедельник. Программа использует...

При попытке прочитать содержимое письма на mail.ru ошибка "NullPointerException"
Помогите пожалуйста разобраться. Необходимо найти письмо но почте mail.ru и сохранить из него...

3
79 / 76 / 17
Регистрация: 18.03.2010
Сообщений: 387
26.01.2015, 09:33 2
Вы сами ответили на свой вопрос - поле не уникально.
0
3 / 3 / 1
Регистрация: 26.11.2013
Сообщений: 30
26.01.2015, 09:45  [ТС] 3
Как стоит поступить в данном случае, чтобы можно было изменять значения и они были бы уникальными?
0
79 / 76 / 17
Регистрация: 18.03.2010
Сообщений: 387
26.01.2015, 09:58 4
Лучший ответ Сообщение было отмечено Ruslan1 как решение

Решение

Как вариант - перед тем как делать
SQL
1
UPDATE
выполнить
SQL
1
SELECT u.username FROM users u
После чего провести поиск совпадений найденных значений со значениями в Вашем текстовом поле. Если совпадения не найдены - выполнить
SQL
1
UPDATE
, иначе - отобразить ошибку о том что такой пользователь уже зарегистрирован в системе.
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.01.2015, 09:58

При попытке обновить поле падает mysql на денвере
Запрос на грани фантастики: MySQL_Query("UPDATE `pages` SET `rus_name`='$name', `content`='$text',...

ActiveX в броузере вылетает при попытке обновить страницу
Подскажите как решить проблему: Пишу на Visual C++ 6.0 ActiveX компонент с использованием MFC....

Синий экран при попытке обновить драйвер в диспетчере устройств
Если выбрать "обновить конфигурации оборудования" то та же ерунда Я пытался сделать это с тремя...

При попытке обновить в DataSet не происходит генерация кода в .designer.cs
Здравствуйте, возникла вот какая проблема существует DataSet к нему подключено много таблиц и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2022, CyberForum.ru