|
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
|
||||||
Sqlite305.07.2021, 15:03. Показов 3267. Ответов 10
Метки нет (Все метки)
Здравствуйте! Имеем столбцы ID и текст в Базе данных(работаю через sqlite3.) Принцип прост- вводим текст,а id не вводим,оно должно вводиться рандомом(Пример-при вводе текста нажимаем кнопку,id заполняется автоматически рандомно).Внизу пример подключения Базы Данных.В коде ниже не представлено,но значения для БД заполняем с текстового поля. Буду рад даже совету.Спасибо заранее
0
|
||||||
| 05.07.2021, 15:03 | |
|
Ответы с готовыми решениями:
10
Sqlite3
Проверка в sqlite3 |
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
|||||||||||
| 05.07.2021, 21:43 | |||||||||||
|
Насколько я понял проблему, не инкриментируется id, если да,, то
Пример на операции
0
|
|||||||||||
|
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
|
|
| 05.07.2021, 23:08 [ТС] | |
|
Не совсем понимаю где в вашей задаче выводится рандомный id
0
|
|
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
|||||||||||
| 06.07.2021, 10:08 | |||||||||||
Сообщение было отмечено FagotPetrova как решение
Решение
FagotPetrova, насколько я понял, в Вашей задаче ID не должно быть рандомным, что нарушидлло бы целостность базы, так как, судя по ее строению, id - как раз первичный ключ, а это значит, что он должен быть не рандомым, а автоинкрементным, и уникальным, то есть,, если первое значение поля id ==1, то второе - точно 2, затем 3 и т.д(кратковременность), а уникальность - если есть поле с номером n, то, то следующему полю нельзя дать тот же индекс.
Соответственно, в моем коде кусочек. который за это отвечает вот:
3
|
|||||||||||
|
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
|
|
| 06.07.2021, 13:12 [ТС] | |
|
Спасибо за помощь.Но я просто использовал функцию random для id(поля для id и text заполнялись с entry).Но теперь еще вопрос есть(не сочтите за наглость).Я ввожу в entry то самое id(вводится от руки),и необходимо вывести текст, соответствующий этому id.Как это можно осуществить?
0
|
|
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
|
| 06.07.2021, 14:11 | |
|
FagotPetrova, Вам нужно сделать так,, чтобы, когда Вы выбираете 1 по порядку id, Вам выдавался соответствующий ему текст?
Если да, то Вашими средствами сия проблема не решается, потому, что 1) Первичные ключи, которым является id - нельзя ставить рандомно, вводить в поле,от прихоти левой ноги и т.д., потому, что, любой первичный ключ может стать внешним, то есть AvdeenkoRб к примеру таблица певичного ключа, следовательно, если есть с ней связанная, то, свяязываться она должна по ключу, который задан в AvdeenkoRб первичным, а в связываемой таблице является внешним как работает, смотреть тут По факту, если ключи именно инкриминируются, то, получается, что у нас есть 2 таблицы с любыми полями и условием вида: таблица внешнего ключа. поле как работаект join, но , такая выборка возможна только если эти самые ключи будут совпадать, а как они будут совпадать, коль Вы ставитие рандомные значения ключей, а потом просите, чтоб sql выбрал по ним соответствия. Добавлено через 7 минут а так вам просто не найдет соответствий ни один запрос и именно поэтому - нельзя ставить ключи от randomбвводить тоже нельзя, можно только использовать авто инкремент , иначе выходит классическая ошибка всех студеентов: в одной таблице бд, значения имеют первичные ключи с номерами от 1 до 59, в другой от 60 до до 100, если их связать, по внешним ключам, то даже напиши вы эталонный запрос - совпадений нужного Вам вида он не выдаст(потому, что значения ключей не совпадут)
0
|
|
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
|
| 06.07.2021, 14:28 | |
|
FagotPetrova, При этом Ваше право вводить ключи откуда угодно за Вами есть(с точки зрения логики не верно, но, раз надо - то надо), поэтому если получать ключи из полей ввода, то, контролировать целостность базы Вам придется в ручную.
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
|
|
| 09.07.2021, 10:04 [ТС] | |
|
Спасибо.То,что вы написали понятно.Но есть задание-пусть и неверное.Я сделал очень просто-x это рандомное число,его вставляю в поле и по кнопке каждый раз вывожу этот рандом.Затем этот x используется при вставке в БД.И да,понимамаю проблему с повтором,но если рандом ставить скажем на 1000,а записей будет 50,вероятность низка
0
|
|
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
|
| 09.07.2021, 10:15 | |
|
FagotPetrova, а привести задание (дословно), можете(вдруг- помогу чем))?
И еще, за свою жизнь, я решал много таких заданий, а принцип был один: есть языки,либо - методики в них есть правила и ни один преподаватель не может эти правила колебать, потому, что говоря, что 2*2=99(к примеру), он будет ошибаться,при всем уважении к его званиям, заслугам и т.д. а я -такие ошибки допускать не буду, плюс к тому, за мной- какой-никакой, да опыт в проектировании БД, потому, Вам с ходу говорил, что так можно, так нельзя, а так - не надо, что сам на этом ошибался. В любом случае, я даю совет, Вам решать, как быть.
0
|
|
|
2 / 2 / 0
Регистрация: 08.03.2021
Сообщений: 173
|
||||||
| 09.07.2021, 10:20 [ТС] | ||||||
|
Задание то несложное,ниже сам текст привожу.Программу кстати доделал.Не говорится,что id это ключ,но я это так понял.Так как таблица одна,возможно и не употребляется такое понятие как ключ впринципе тут
Реализовать оконный интерфейс для загрузки и хранения текстовых фрагментов(Использовать SQLite3) 1. В ручную пишем текст 2. Нажимаем кнопку загрузить 3. Генерируется случайное число(через метод рандом), создается в таблице id, название текста(Там же и хранится). 4. Вводим id текста 5. Нажимаем кнопку прочитать 6. Выводится текст, который мы сохраняли Хотя если поможете вот с этой ерундой,буду рад Вопрос пустяковый, но что то не могу решить.Нужен перенос строки на следующую при окончании ширины поля при введении символов в текстовое поле вручную.Раньше использовал Text.Но сейчас почему-то не работает(Заблудился в 3 соснах).Ниже фрагмент для этого самого текстового поля.Весь код не привожу,так как если мы меняем Text на Entry,то всё работает
0
|
||||||
|
1356 / 653 / 207
Регистрация: 23.03.2014
Сообщений: 3,057
|
||||||
| 09.07.2021, 10:37 | ||||||
|
а вот так?
0
|
||||||
| 09.07.2021, 10:37 | |
|
Помогаю со студенческими работами здесь
11
Sqlite3.OperationalError: no such column: r PyQt5 + SQLite3 (db browser) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|