• Ошибка в Sqlite3 sqlite3.IntegrityError: NOT NULL constraint failed: chats.chat_two?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    ну, если у нас NOT NULL constraint - то ошибка у тебя скорее всего здесь:

    self.cursor.execute("INSERT INTO chats (chat_one, chat_two ) VALUES (?,?)", (chat_one, chat_two))
    И даже не ошибка, а штатная отработка при попытке вставить NULL в chat_two
    Ответ написан
    Комментировать
  • На три четверти знаю, что нужно сделать - LAG или подзапрос?

    @art_karetnikov Автор вопроса
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    В общем, отвечу другим юношам, обдумывающим житьё.

    select m_date, id_tool, m_close
    -- вот так получаю предыдущее значение, там, где текущее значение равно NULL
    , COALESCE(m_close, LAG(m_close) OVER (PARTITION BY id_tool ORDER BY m_date)) AS m_close
    from
    (
    SELECT distinct s.m_date, t.id_tool, null as m_close -- вот так добавляю несуществущие данные в запрос
    FROM tbl_snap s
    CROSS join tbl_tool t on t.is_trade = 1 and t.id_tool_type = 1
    WHERE m_date not in (
    SELECT m_date
    FROM tbl_tool t
    join tbl_snap s on s.id_tool = t.id_tool
    WHERE t.id_tool_type = 1
    )
    UNION all -- все остальные данные
    select m_date, id_tool, m_close
    from tbl_snap s
    )
    ORDER by m_date desc, id_tool

    У этого запроса есть один недостаток. Если два дня подряд не было торгов, то LAG не вернет данные, будет NULL.

    Избавиться от этой проблемы можно подзапросом, вместо LAG - (
    SELECT m_close
    FROM tbl_snap s2
    WHERE s2.id_tool = s.id_tool
    AND s2.m_date < s.m_date
    ORDER BY s2.m_date DESC
    LIMIT 1
    ) m_close - однако это существенно увеличит время выполнения
    Ответ написан
    Комментировать
  • Как вывести кол-во записей, значения которых выше среднего значения?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Нельзя использовать псевдоним. В WHERE используй полную функцию. И ты уверен, что тебе надо WHERE, а не HAVING?
    Ответ написан
    Комментировать
  • MatLab. Импорт данных из MS SQL. Кодировка. Как реализовать?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    На unicode это не похоже. Похоже это на классический косяк windows и даже к ODBC отношения не имеет.
    Попробуй на другом компе создать файл с кодировкой 1251, текстовый и открыть на этом. Если увидишь то же самое - копай "настройки локали". Для каждой винды там свое решение.
    Ответ написан
    Комментировать
  • Как подключиться к удаленной базе данных access?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Берешь файл. Кладешь в него только таблицы. Это у тебя будет сама база. Далее берешь второй файл, в нем создаешь линки на первый. И вот это у тебя будет основной рабочий файл, где будут формы, запросы и т.п.
    Его будешь давать каждому юзеру, просто прилинковав таблицы основного файла. Работать будет просто чудесно, а потом, как перерастешь акцесс, прилинкуешь вместо таблиц акцесса - таблицы ms sql и настанет щастье.
    Можешь подумать о варианте "интерфейс на акцессе, а таблицы на MS SQL Express" прямо сейчас.
    Ответ написан
  • Как создать несвязную форму?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Ни на что не нужно нажимать. Просто делаешь форму, у которой не указываешь источник данных.
    После того, как выбираешь все, что нужно - в кнопке делаешь вызов Docmd.openReport
    Ответ написан
    Комментировать
  • Как получить разницу одной и той же таблицы базы данных раз в час?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Не надо тебе делать полную копию таблицы. По какой логике нельзя поле добавить - я объясню. Чуваки, которые перед тобой работали, пользовались select * from employees... и вставляли это куда ни попадя. Поэтому сейчас если ты еще одно поле добавишь - упадет все, где есть вставка всех полей.

    Так вот, тебе нужна таблица-спутник. Четыре поля. Id этой таблицы, Id_employeer, Change_Date, Change_type.
    Далее ловишь изменение или добавление основной таблицы и в таблицу-спутник вставляешь данные, какой работник изменен и что с ним стало в Change_type: Insert, Update, Delete. Можно еще Id того, кто это изменение сделал.
    Ответ написан
    Комментировать
  • Как остановить долгий SQL-запрос?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    sp_who2 - узнаешь id процесса, 75 например. потом kill 75. Иначе транзакция у тебя будет откатываться до посинения, а именно - ровно столько же времени, сколько был запрос.
    И я бы не парился в данном случае за целостность данных вообще никак.
    Ответ написан
  • Как работа с бд Access в Visual Studio C++?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    "ой, не ври царю!" В интернете по этому поводу не то что вагон, состав информации.

    https://msdn.microsoft.com/en-us/library/7wtdsdkh.aspx
    Ответ написан
    Комментировать
  • Как лучше организовать хранение разномастных архивных данных?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Антон, правильно будет, если тебе помогло, ставить ответы решениями. Это я и про твой предыдущий вопрос.

    Теперь давай посмотрим. На мой взгляд, у тебя отдельная сущность "обновление ПО" и оно должно быть в отдельной таблице и мешать его ни с чем не нужно. Т.е. вот у тебя есть Id, m_version, m_date - и пусть оно так и будет.
    А посещение - это у тебя отдельная сущность, с обновлением не обязательно связанная. Значит, правильный вариант - две таблицы, по одной на каждую сущность. Крайне важно сущности не мешать.

    Как это правильно оформить? Я бы на твоем месте в форму, куда ты заносишь данные о посещении добавил чекбокс "обновили необычайно важное ПО". Тогда у тебя дата посещения одна, но если этот чекбокс стоит, то ты пишешь её в две таблицы. Каждая сущность остается изолированной, ничего ты не смешиваешь, и имеешь верные данные.
    Ответ написан
    7 комментариев
  • Как заполнить значениями по умолчанию графы в форме MS Access, взяв их из таблицы?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Конечно, можно. Ловишь событие After_update нужного поля (Индекс), далее выполняешь запрос к таблице, черпаешь из нее данные и подставляешь в нужные поля.
    Ответ написан
    3 комментария
  • Как организовать хранение изменений в ячейки таблицы Access?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Ну смотри. Вот у тебя есть ключевое поле в основной таблице, должно быть по идее.
    Id_general

    Дальше у тебя таблица городов, в ней пусть id_city.

    И вот у тебя итоговая таблица Архив.

    Id_history Id_general Id_city Date_Change.

    Id_history - автоинкримент. А остальные поля - какую именно ты строку менял, на что, когда.
    Сделав выборку по id_general и добавив сортировку по Date_Change - ты получишь историю изменений.

    Следовало бы добавлять схему данных свою. И - таблицы называй с префиксом tbl, желательно английским языком. Бывают сложно уловимые глюки с русскими названиями.
    Ответ написан
    4 комментария
  • Как скопировать колонку из одной базы в другую MSSQL?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Insert into - это вставка данных.
    Тебе надо почитать про alter table add column - практически это готовая команда для твоей цели, осталось указать имя столбца и его тип
    Ответ написан
    Комментировать
  • Почему при запуске формы вылазит ошибка?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Ну, включай отладку, смотри, в какой процедуре ошибка. Начинаешь с Form_Load/Open. Если не там, смотришь элементы на форме.
    А вопрос "почему так происходит, раньше не было" - бесполезный.
    У меня вон у соседа нога болит, а раньше не болела!
    Ответ написан
    Комментировать
  • Как можно вывести поля таблицы в виде заголовков?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Можно. Pivot
    Ответ написан
    Комментировать
  • Как выполнить экcпорт данных из MS Access?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Осталось только подумать о обратной схеме: когда данные хранятся сразу в mysql таблицах, прилинкованных к акцессу. И пусть хоть обудаляются акцессовские файлы. :).
    Ответ написан
    Комментировать
  • Как можно исправить ошибку доступа к базе данных?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Ну, коллега, надо не просто генерить, а думать, что к чему. Программирование, оно очень плотно с этим связано.
    Я даже слышал легенды от стариков, что если не подумать, вообще база не получится!

    Даже заглядывать в ваш код не буду, а сразу скажу: таблица подчиненная, требует наличия записи в главной. А вы ее туда не занесли пока, в главную-то.
    Ответ написан
    Комментировать
  • Как добавить данные в базу данных Access?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Ну, тут думать даже нечего. На самом деле ошибка синтаксиса, скорее всего с '
    Возьми вот это всё 'INSERT INTO Users (login,password) VALUES ('''+Edit1.Text+''', '''+Edit2.Text+''')');
    DataModule2.ADOQuery1.ExecSQL;
    Загони в текстовую переменную вместе с данными, сам увидишь. Если не увидишь - выведи ее в Management Studio
    Ответ написан
    Комментировать
  • Как сохранить несколько значений в переменную?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Это массив называется. Сохранять данные из запроса в массив не нужно, когда ты пользуешься базой данных. Массив в базе данных - это ТАБЛИЦА.
    Ответ написан
    Комментировать
  • MSSQL, как включить подсказки при вводе кода/команд?

    @art_karetnikov
    Лучший мой проект: Мобильный банк Сбербанка РФ.
    Доброго. Попробуй сверху поставить такой SQLAssistent. Неимоверно крутая и полезная вещь. Заодно она научит правильно и однозначно форматировать весь код.
    Ответ написан
    Комментировать