Гость
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite записать в поле таблицы значение "0" / 4 сообщений из 4, страница 1 из 1
02.06.2017, 21:25
    #39465011
Arbit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite записать в поле таблицы значение "0"
Здравствуйте уважаемые Гуру!

Не пойму на какие свои "грабли" наступил
есть запрос на обновление в базу SQLite на С++:

Код: plaintext
1.
2.
3.
4.
UPDATE Visits SET SumVisit = '0' WHERE VisitID = '15'
char *errmsg;
int rc;
rc = sqlite3_exec(db, strSQL, NULL, 0, &errmsg);


Любое значение записывается, кроме 0
Ноль без одинарных кавычек тоже не проходит.
Что я с ним делаю не так?

Заранее всем спасибо
...
Рейтинг: 0 / 0
02.06.2017, 21:41
    #39465016
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite записать в поле таблицы значение "0"
ArbitЛюбое значение записывается, кроме 0Откуда ты это знаешь? Может оно записывается все правильно, а ты потом читаешь неправильно?

ArbitНоль без одинарных кавычек тоже не проходит.А тот маленький факт что ноль с кавычками это текст, а без кавычек это число тебя не смущает?
...
Рейтинг: 0 / 0
02.06.2017, 22:12
    #39465023
Arbit
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite записать в поле таблицы значение "0"
White Owl, спасибо за участие

авторОткуда ты это знаешь? Может оно записывается все правильно, а ты потом читаешь неправильно?
Когда я что-то делаю с базой данных на любом языке, у меня на втором мониторе всегда открыта сама база (неважно какая, MySQL, SQLite или другая) так что я в реальном времени вижу все изменения в ней
Я не совсем уж тупой.

авторА тот маленький факт что ноль с кавычками это текст, а без кавычек это число тебя не смущает?
По большому счету там вообще все данные - строки.
В данном конкретном случае я не парюсь с типами все числовые значения передаю в запрос как строки.
И все прекрасно, кроме возможности обнулить поле.
Само поле FLOAT, Not Null Default 0

Выше приведенный запрос отлично работает и с кавычками и без при выполнении запроса непосредственно в базе
(SQLite Expert)
А вот из кода любое значение пишет кроме 0.

Если есть какие мысли по существу - буду благодарен.
...
Рейтинг: 0 / 0
02.06.2017, 23:00
    #39465033
White Owl
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQLite записать в поле таблицы значение "0"
ArbitавторОткуда ты это знаешь? Может оно записывается все правильно, а ты потом читаешь неправильно?
Когда я что-то делаю с базой данных на любом языке, у меня на втором мониторе всегда открыта сама база (неважно какая, MySQL, SQLite или другая) так что я в реальном времени вижу все изменения в ней
Я не совсем уж тупой.Хм... Вот я уже четверт века работаю с разными базами, но впервые слышу чтобы в изменения были видны в реальном времени... Или ты во все СУБД встраиваешь пуш для датасетов??? Или не знаешь что такое реальное время?
Еще раз спрашиваю: Как ты читаешь таблицу? Какой утилитой? Каким запросом?

ArbitавторА тот маленький факт что ноль с кавычками это текст, а без кавычек это число тебя не смущает?
По большому счету там вообще все данные - строки.
В данном конкретном случае я не парюсь с типами все числовые значения передаю в запрос как строки.
И все прекрасно, кроме возможности обнулить поле.
Само поле FLOAT, Not Null Default 0Во первых, в SQLite нету типов полей.
Во вторых, несмотря на то, что в SQLite нету типов полей, строки от чисел СУБД прекрасно отличает и если ты надеешься что оно само отконвертирует строки в числа или наоборот (как это делают другие СУБД) - ты очень заблуждаешься. Здесь надо всегда четко передавать числа как числа, а строки как строки.

ArbitВыше приведенный запрос отлично работает и с кавычками и без при выполнении запроса непосредственно в базе
(SQLite Expert)Какой такой "SQLite Expert"? Этот что-ли: http://www.sqliteexpert.com/ ? Забавная поделка от ораклистов. Но не пригодная для реальной работы с SQLite.
А! Это тебе SQLite Expert сказал что поле не изменилось? Ну нашел чему верить.

ArbitА вот из кода любое значение пишет кроме 0.Так ты код как пишешь покажешь? В том не рабочем огрызке кода который показан в стартовом посте топика явных ошибок в показаных строках не видно. Но такак этот огрызок не рабочий - никто не может сказать насколько правильно сделано все остальное. Хотя бы как задается strSQL?
...
Рейтинг: 0 / 0
Форумы / SQLite [игнор отключен] [закрыт для гостей] / SQLite записать в поле таблицы значение "0" / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]