Задать вопрос
  • Как вставить переменную в sql запрос python?

    @Kotar4ik
    Рамис, %s это ведь неудобное наследие Python 2?

    Для разделение можно использовать классический format.
    sqlscr= "UPDATE users SET message = {0} WHERE id = {1}"
    sql.execute(sqlscr.format(str(random[0]), str(user[0]) )
  • Добавлять в словарь данные с сохранением, а не взаимозаменой. Python?

    @Kotar4ik
    Это происходит из-за специфической работы списка.
    Он делит слова по символам.
    Ниже полностью рабочий код.
    Часть
    try:
    except:

    Здесь необходима, чтобы при опечатке во время поиска даты приложение не сломалось из-за Key Error

    dic = {}
    
    while True:
        qw = input('''\nВыберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        ''')
        
        if qw == '1':
            date = input ('Дата: ')
            if date not in dic:
                dic [date] = list()
            dic [date].append(input ("\nНовая задача: "))
    
        
        elif qw == '2':
            try:
                print (dic [input('\nКакую дату найти? ')])
            except:
                print ('Дата не найдена')
        
        elif qw == '3':
            print (dic)
        elif qw == '9':
            break


    Вывод:
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        1
    
    Дата: Сегодня
    
    
    Новая задача: помыть
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        1
    
    Дата: Сегодня
    
    
    Новая задача: постирать
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        1
    
    Дата: 23.02.2021
    
    
    Новая задача: не мыть
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        1
    
    Дата: 23.02.2021
    
    
    Новая задача: не стирать
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        2
    
    
    Какую дату найти? Сегодня
    ['помыть', 'постирать']
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        2
    
    
    Какую дату найти? Завтра
    Дата не найдена
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        3
    {'Сегодня': ['помыть', 'постирать'], '23.02.2021': ['не мыть', 'не стирать']}
    
    
    Выберите действие:
        1. Добавить задание
        2. Найти задание по дате
        3. Показать все задания
        9. Выход
        9
  • Как реализовать в Python подключение к IBM DB2 базе данных?

    @Kotar4ik Автор вопроса
    Спасибо, но это как раз по 2 варианту (если убрать строчку с ссылкой на драйвер).
    Пробовал и без драйвера, но всегда одна и та же ошибка. Чувствую, что голова уже скоро взорвётся от этого.
    Грешу на драйвер, наверное эта ссылка в коде не совсем понимает о чем речь, брал свой код из примера:
    dsn = (
        "DRIVER={{IBM DB2 ODBC DRIVER}};"
        "DATABASE={0};"
        "HOSTNAME={1};"
        "PORT={2};"
        "PROTOCOL=TCPIP;"
        "UID={3};"
        "PWD={4};").format(dsn_database, dsn_hostname, dsn_port, dsn_uid, dsn_pwd)
    
    conn = ibm_db.connect(dsn, "", "")


    Кажется, что сейчас скрипт просто не понимает что за драйвер и что с ним.
  • Как реализовать в Python подключение к IBM DB2 базе данных?

    @Kotar4ik Автор вопроса
    На работе, к сожалению, вся БД на DB2 и импортировать ее наверное уже и невозможно.
    alexbprofit попробовал через ваш вариант, все также не находит указанную db:

    OperationalError: ibm_db_dbi::OperationalError: [IBM][CLI Driver] SQL30061N  The database alias or database name "DATABASE             " was not found at the remote node.  SQLSTATE=08004\r SQLCODE=-30061


    Может быть дело в драйвере? В БД написано, что используется "com.ibm.as400.access.AS400JDBCDriver"
    Может быть его с ним что-то нужно сделать? Сам драйвер скачал у IBM и сидит .jar в папке со скриптом.
  • В чем ошибка макроса VBA по обработке массива ячеек?

    @Kotar4ik Автор вопроса
    Огромное спасибо! Все идеально работает