RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-509490

mc_vovi's questions

Martin Hope
mc_vovi
Asked: 2022-07-18 19:08:23 +0000 UTC

具有多个 WHERE 子句的 SQLite 查询不起作用

  • 0

我正在用 aiogram,python 编写一个电报机器人。有需要使用数据库,写了如下查询:

for value in cur.execute("SELECT field FROM vlnt_table WHERE faculty = ? AND university = ?", (faculty_pressed, university_pressed)):
    current_value = str(value)
    fields_list.append(current_value)

但是,此代码不起作用,会引发错误:

sqlite3.InterfaceError: Error binding parameter 0 - probably unsupported type.

我检查了所有变量,将它们与数据库中的值相关联,尝试使用每个 Faculty_pressed 和 university_pressed 变量编写两个单独的查询(它们有效),但是在一个 WHERE 中,它们不起作用。我正是需要这两个条件,请告诉我问题是什么!如果可以选择使用两个查询来实现这些条件,我会很高兴(我需要在一个循环中使用它)

upd:显示我放入变量的内容:

faculty_pressed = (message.text[10:],)


async with state.proxy() as abit_filter:
    abit_filter['university'] = (message.text[12:],)
university_pressed = abit_filter['university']

这就是我检查是否有匹配项的方式:

for value in cur.execute('SELECT university FROM vlnt_table'):
    print(value)
    if value == university_pressed:
        print('Должно работать!!')

我会放弃整个功能,也许:

async def cmd_abit_filters_faculty(message: types.Message, state = FSMContext):
async with state.proxy() as abit_filter:
    abit_filter['faculty'] = (message.text[10:],)
    university_pressed = abit_filter['university']
faculty_pressed = (message.text[10:],)
print(abit_filter['university'])
fields_list = []
for value in cur.execute('SELECT university FROM vlnt_table'):
    print(value)
    if value == university_pressed:
        print('Должно работать!!')
for i in cur.execute("SELECT field FROM vlnt_table WHERE (faculty = ?) AND (university = ?)", (faculty_pressed, university_pressed)):
    current_value = str(value)
    current_value = current_value.replace('(', '')
    current_value = current_value.replace(')', '')
    current_value = current_value.replace("'", "")
    current_value = current_value.replace(',', '')
    fields_list.append(current_value)
base.commit()
fields_set = list(set(fields_list))
fields_set = fields_list
kb_fields = ReplyKeyboardMarkup(resize_keyboard=True)
for i in fields_set:
    kb_fields.add(f"Направление {i}")
await FSMFilters.next()
await bot.send_message(message.from_user.id, 'Выберите направление подготовки, о котором хотели бы узнать', reply_markup=kb_fields)
python база-данных
  • 1 个回答
  • 55 Views
Martin Hope
mc_vovi
Asked: 2022-08-17 23:32:19 +0000 UTC

WHERE 子句在 SQLite 查询中不起作用

  • 1

我正在写一个电报机器人,需要制作一个ReplyKeyboardMarkup键盘,其中按钮值将从SQLite数据库中获取。写了相应的函数:

async def cmd_abit_filters_region(message: types.Message, state = FSMContext):
async with state.proxy() as abit_filter:
    abit_filter['region'] = message.text[1:]
region_pressed = "('" + message.text[1:] + "',)"
region_pressed = message.text[1:]
with open('''C:/Users/vvvpe/Desktop/Connect/Data/filters.txt''', 'a') as filters:
    filters.write('''\n["%s", ''' % str(abit_filter['region']))

universities_list = []
for value in cur.execute(f'''SELECT university FROM vlnt_table WHERE region = ?''', [region_pressed]):
    current_value = str(value)
    current_value = current_value.replace('(', '')
    current_value = current_value.replace(')', '')
    current_value = current_value.replace("'", "")
    current_value = current_value.replace(',', '')
    print(current_value)
    universities_list.append(current_value)
base.commit()
universities_set = list(set(universities_list))
universities_set = universities_list
print(universities_set)
kb_universities = ReplyKeyboardMarkup(resize_keyboard=True)
for i in universities_set:
    kb_universities.add(f"Университет {i}")

await FSMFilters.next()
await bot.send_message(message.from_user.id, 'Выберите интересующий вас вуз', reply_markup=kb_universities)

没有任何痕迹。键盘根本没有打开,好像在 for 循环中光标在基数中找不到匹配项。我尝试显示来自数据库的值,显示如下: ('Moscow',), ('St. Petersburg',) - 带有逗号和括号,所以我尝试手动将这些字符附加到 region_pressed 变量。我试过没有这个拐杖 - 它不起作用,它不会出错(((请帮助!

python
  • 1 个回答
  • 42 Views
Martin Hope
mc_vovi
Asked: 2022-07-11 02:01:15 +0000 UTC

需要将某些数据从 sqlite3 数据库输出到可点击按钮

  • 0

我正在使用初学者 aiogram 在电报中开发一个聊天机器人。我有一个 sqlite3 数据库,它存储用户名、他们所在的地区、教育机构和其他信息。

我需要制作一个ReplyKeyboardMarkup 键盘,以便每个按钮负责数据库中的特定区域。而且,地区的数量是未知的,并且可以改变,通过点击地区按钮,所选地区的用户的教育机构应该显示在另一个键盘上。问题是我什至无法想象它是如何实现的。

请告诉我如何从数据库中为所有用户区域至少制作一个键盘(我希望稍后会弄明白),即使是对应该使用的方法的大致描述也可以。如果您编写代码,我将非常高兴!谢谢!

python база-данных
  • 1 个回答
  • 35 Views
Martin Hope
mc_vovi
Asked: 2022-09-10 05:37:35 +0000 UTC

使用 bot.send_message() 图形发送多个变量

  • -1

我正在写 tg bot,有一个严重的问题。我的问题很简单:如何使用 bot.send_message() 向用户发送多个变量?语法令人困惑。我试图从这样的字典中实现数据输出:

await bot.send_message(message.from_user.id, 'Фамилия: %s' % vlnt_data['surname'] ' Имя: %s' % vlnt_data['name'])

显示回溯:无效语法。请帮忙!

python bot
  • 2 个回答
  • 45 Views
Martin Hope
mc_vovi
Asked: 2022-09-08 00:00:30 +0000 UTC

tg bot aiogram 中用户输入数据的审核

  • 0

我正在编写一个 tg-bot,需要实现一个管理面板,版主将在其中接受或拒绝用户之前输入的数据。审核通过了,但您还需要通知用户审核通过 - 这是一个问题。无法保存用户 ID,这意味着无法发送消息:状态机被排除(我的代码中有一个分支 - 版主跳过或拒绝数据),如何写入文件 - 我不知道,可以同时有多个用户,从文件中获取正确的ID,显然不是。请帮帮我!我抛弃了两个处理程序 - 向用户发送数据字符串和成功审核的处理程序,您需要向用户发送消息。首先:

async def cmd_mod_vlnt_comfirmation(message: types.Message):
    await bot.send_message(message.from_user.id, 'Ваши данные отправлены на модерацию. Пожалуйста, ожидайте.')
    need_id = message.from_user.id
    with open('''C:/Users/vvvpe/Desktop/Connect/Data/vlnt_data.txt''', 'r') as mod_f:
        for line in mod_f:
            if str(need_id) in line:
                cur_mod_data = line
    await bot.send_message(айди модератора, cur_mod_data)

第二:

async def cmd_mod_vlnt_comfirmed(message: types.Message):
    await bot.send_message(message.from_user.id, 'Это сообщение админу')
    await bot.send_message(message.from_user.id, 'Это сообщение - юзеру, вместо в первый аргумент send_message нужно указать айди пользователя, который непонятно как достать', reply_markup=kb_vlnt_main)
python строки
  • 1 个回答
  • 58 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5