|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
MS SQL Добавление записей в таблицу из CheckListBox20.10.2019, 21:03. Показов 3798. Ответов 25
Метки нет (Все метки)
На форме расположены 4 dbcomboboxeh и 2 checklistbox
Как добавить все записи в таблицу, где бы присутствовали все значения из checklistbox1 и checklistbox2 Я так понимаю если выбрано 2 значения в checklistbox1 и 3 значения в checklistbox2, должно получится 6 записей в таблице, где dbcomboboxEhЫ имели б одинаковые значения полей
0
|
|
| 20.10.2019, 21:03 | |
|
Ответы с готовыми решениями:
25
Из каждого CheckListBox вставить определённое количество записей в таблицу MSWORD Добавление записей в таблицу и связанную с ней таблицу, с учётом связи Добавление записей в таблицу |
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.10.2019, 22:35 | |
|
Вы ничего не сказали о свое таблице, а кофе у меня для гадания кончился
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
| 20.10.2019, 23:04 [ТС] | |
|
В таблице есть поле статус типа bit, которое я хочу обновлять из DBGridEh нажатием checkbox
0
|
|
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 20.10.2019, 23:09 | |
|
Бит значит одно значение, а полей 6.
Решение: Либо делайте поле типа байт и используйте булеву арифметику для хранения своих 6 значений в одном поле, либо заводите 6 полей в таблице, либо создавайте дополнительную таблицу связанную по главному ключу с основной и пишите туда 6 записей для каждого из полей.
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
||
| 20.10.2019, 23:28 [ТС] | ||
|
В таблице есть 6 полей типа int и одно поле bit (по умолчанию пишется 0) в которые пишутся данные из формы (4 dbcombobox и 2 checklistbox) добавление производится, только последних выделенных checklistboxОВ. Так же есть 7-он поле bit, которое принимает значение 1 или 0, его необходимо обновлять CheckBoxОМ из DBGidEh + как занести все записи, где стоит галка в checklistbox
Добавлено через 11 минут
0
|
||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
|
| 21.10.2019, 00:57 | |
|
Понимаете в чем дело, если у вас на форме все дб-компоненты настроены на источник данных и соответствующее поле в нем, то ничего настраивать дополнительно не требуется, но это для стандартных компонент, а вы используете DBGidEh, которого у меня нет и поведение его, для такого типа поля, мне неизвестно.
Вот чего я не понимаю, так зачем вы для 6 логических условий взяли тип поля int и там как я понял все у вас работает, а вот для 7 выбрали тип бит и теперь с ним мучаетесь?
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|||||||||
| 21.10.2019, 02:07 [ТС] | |||||||||
|
Нет. 6 полей интеджер. Все норм. По поводу чекбокса, ответил в другой теме. Меня здесь интересует вопрос как записывать данные из checklistbox которые помечены галочками необходимо записать в базу. Пишется только последняя выделенная строка.
При том в checklistbox1 у меня пользователи а в checklistbox2 права этих пользователей. Необходимо записать для каждого выделенного элемента checklistbox1 выделенные элементы checklistbox2. Пример: Если мы выбрали 3 пользователей в checklistbox1 и назначили им 4 права из checklistbox2 то в результирующей таблице должно добавится 12 записей (для каждого пользователя по 4 права) это как я вижу Потом буду в DBGridEh формировать запрос на выборку этих записей и отображать через запятую. Добавлено через 17 минут Добавить в базу для каждой выделенной записи checklistbox1 выделенные записи в checklistbox2:
0
|
|||||||||
|
3764 / 2272 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||||||
| 21.10.2019, 02:33 | ||||||
|
Для этого вам надо собрать информацию из всех элементов списка, т.е. пройтись циклом по элементам и проверить значение:
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|||||||||||
| 21.10.2019, 05:31 [ТС] | |||||||||||
|
В базу как раз пишутся айди тех пользователей чьи текстовые данные отображены в checkboxlist
Как будет запрос выглядеть перед отправкой?
0
|
|||||||||||
|
32 / 26 / 7
Регистрация: 18.10.2019
Сообщений: 187
|
|||||||||||
| 21.10.2019, 17:00 | |||||||||||
|
Нет не так. CheckListBox элементы нумерует с 0, а вот в базе у вас ID пользователя может быть какой угодно, поэтому нельзя по нему ориентироваться, но можно заполнять CheckListBox методом AddItem(), где вторым параметром указывать идентификатор пользователя:
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
| 21.10.2019, 17:36 [ТС] | |
|
Все конечно хорошо но мне не нужен id пользователя. Вернее нужен, но...
Есть таблица права, куда нужно записать значения из ChekListBox1 (Пользователи) и ChekListBox2 (Права) но таким образом чтобы на 1 пользователя писались все выделенные в ChekListBox2 значения Список ChekListBox1 и ChekListBox2 формируется из базы как раз AddItem(string, id) Таблица итоговая представлена в 7 посте Можно мне пример такого заполнения? Или хотяб на мысль натолкнуть, может додумаю...
0
|
|
|
|
||||||
| 21.10.2019, 19:12 | ||||||
|
наталкиваю)))
любые операции с таблицами это всего лишь DELETE UPDATE INSERT если вам нужно вставить в таблицу записи , вы используете INSERT (хотя я бы сначала удалил старые записи, а потом бы писал новые, но это не суть, ибо ровно так же запросом работает) еще раз отошлю для начала сюда https://www.cyberforum.ru/blog... g5254.html там ближе к концу есть пример с INSERT единственное что меня смущает, что у вас поля называются "Пользователи" и "Права" каждое поле хранит ОДНО значение поэтому логичнее назвать "Пользователь" и "Право" и кроме того, с правами можно еще подумать, но поле пользователь уж точно ДОЛЖНО хранить ID пользователя из справочника пользователей, который должен быть отдельной таблицей Надеюсь, это так и есть в результате получим что-то такое
0
|
||||||
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
| 21.10.2019, 20:16 [ТС] | |
|
Права выбираются из CheckListBox2 тоже должны писаться в бд не строкой а новой записью
Права тоже пишутся ID которые берутся из справочника прав (другая таблица)
0
|
|
|
|
|||||||||||
| 21.10.2019, 20:39 | |||||||||||
|
замените Rght вместо string на integer и в строке 7 тоже поменяйте
остальное остается без изменений обычно в VCL используют старинный костылик - нужные ID пишут прямо в items маскируя их под ссылки на объекты для этого при заполнении
1
|
|||||||||||
| 22.10.2019, 03:13 | |
|
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
| 22.10.2019, 13:31 [ТС] | |
|
Можете 6, 7 строчку пояснить? Для чего нужны указания DataType?
0
|
|
|
|
|
| 22.10.2019, 14:19 | |
|
northener, а в ARC это работать не будет, и мы будем читать посты "ой всегда работало а тут сломалось, ой, почему ОНИ все испортили" )))
комментаторы выше могут посчитать это вредным и излишним, но указывать тип передаваемых данных довольно важно) они по-разному обрабатываются сервером
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
|
| 22.10.2019, 15:12 [ТС] | |
|
Чего как то не так работает.
1) При выборе 2 пользователей и 2 прав в CLBox1 и CLBox2 соответственно, добавляется 368 записей последних отмеченных в CLBoxах, а по идее должно 4 записи и не однотипных 2) Если в CLBox только одна запись выдаёт ошибку List index bound (2) с чем это может быть связано? Но данные записываются
0
|
|
|
|
|
| 22.10.2019, 15:29 | |
|
никто не видит ваш кот...
ну и на слово тоже не верит) и не верит, что вы почистили старые записи прежде чем писать новые но верит, что если выполнить 4 раза INSERT то не более 4 записей появится в таблице... Добавлено через 1 минуту ну и код писан на коленке, не проверен, чисто для образца например в строке 15 if clBox2.Checked[i] then должно быть if clBox2.Checked[j] then
0
|
|
|
0 / 0 / 0
Регистрация: 21.03.2016
Сообщений: 102
|
||
| 22.10.2019, 15:53 [ТС] | ||
|
А по поводу только последних выделенных записей в CLBox? While do? Добавлено через 9 минут Тоесть если выделены 2 сотрудника и 2 право нужно 4 записи создать, тоесть первому сотруднику 2 записи и второму 2 записи
0
|
||
| 22.10.2019, 15:53 | |
|
Помогаю со студенческими работами здесь
20
Добавление записей в таблицу
Добавление записей в таблицу Добавление записей в таблицу Добавление записей в таблицу Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|