Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 2
MS Access

Из StringGrid в DBGrid без повторяющихся записей

28.04.2015, 07:16. Показов 946. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Переношу строки из Excel в StringGrid, а оттуда в записываю в БД, код работает хорошо, но не знаю как поймать исключение, если при переносе были обнаружены повторяющиеся записи. Еще лучше, если бы повторяющиеся записи пропускались, а перенос шел дальше.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
int ACount = 0;
DM->DS1->DataSet->Open();
DM->DS1->DataSet->First();
for (int i=0; i<StringGrid1->RowCount; i++)
{
 if (StringGrid1->Cells[0][i]!=""&&StringGrid1->Cells[1][i]!=""&&StringGrid1->Cells[2][i]!=""&&StringGrid1->Cells[3][i]!="")
 {
   DM->DS1->DataSet->Insert();
 
   DM->DS1->DataSet->Fields->Fields[0]->AsString=StringGrid1->Cells[0][i];
   DM->DS1->DataSet->Fields->Fields[1]->AsString=StringGrid1->Cells[1][i];
   DM->DS1->DataSet->Fields->Fields[2]->AsString=StringGrid1->Cells[2][i];
   DM->DS1->DataSet->Fields->Fields[3]->AsString=StringGrid1->Cells[3][i];
   DM->DS1->DataSet->Fields->Fields[4]->AsString=StringGrid1->Cells[4][i];
 
   DM->DS1->DataSet->Post();
 
   ACount = ACount + 1;
 }
 else
 {
 DM->DS1->DataSet->Next();
 }
}
 ShowMessage("Перенесено записей "+ QuotedStr(ACount) );
 Button5Click(Sender);  //Обновление таблицы Протокол1
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
28.04.2015, 07:16
Ответы с готовыми решениями:

Запрос без повторяющихся записей
добрый день помогите пожалуйста решить проблему: в базе данных имеются две таблицы владельцы (Фио, ..., стоимость участия)и...

Изменять данные без добавления записей в DbGrid
У меня на форме лежит грид на основе запроса. Мне нужно чтобы в гриде можно было бы изменять данные, но нельзя добавлять записи. Как это...

Как убрать пустую строку в DBGrid без записей?
Если запрос, из которого берет данные DBGrid, не возвращает ни одной строки, то в DBGrid всё равно имеется пустая строка, при этом...

3
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.04.2015, 09:27
По моему здесь без TStringList не обойтись во всяком случае там есть свойство Duplicates
0
480 / 393 / 113
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
28.04.2015, 12:24
Цитата Сообщение от Clockwize Посмотреть сообщение
Переношу строки из Excel в StringGrid
А если на прямую подключится? Не вариант?
Цитата Сообщение от Clockwize Посмотреть сообщение
повторяющиеся записи
Критерии повторяющихся записей какие? По всем полям?
Как вариант сделать два датасета и по фильтру проверять кол-во совпадающих записей.
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 2
28.04.2015, 16:16  [ТС]
Не вариант.
Критерий составной ключ по 4 полям, пробовал сравнивать все 4 поля с ячейками в StringGrid, но не получилось
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.04.2015, 16:16
Помогаю со студенческими работами здесь

Подсчет количества записей с группировкой повторяющихся записей с VBA
Доброго времени суток! Вопрос возник следующий. Имеется ленточная форма (Организации) необходимо под таблицей добавить поле которое...

Перенос записей из одного DBGrid в другой DBGrid
Здравствуйте. Есть проблема! Ни как ни получается перенос записей Вот текст кода: procedure TF_Licenzie.DBGrid1CellClick(Column:...

Поиск записей по дате в DBGrid и окрашивание записей
Всем привет! очень нуждаюсь в вашей помощи.пишу программу для диплома,и столкнулся со следующей проблемой: как сделать так, чтобы...

StringGrid и DBGrid. Очистка DBGrid.
А можно ли переносить данные из StringGrid в DBGrid? Или можно ли при открытии формы очищать таблицу базы данных через DBGrid? Типа...

Удаление повторяющихся записей
У меня есть табличка : CREATE TABLE `SALES` ( `ID` int(11) NOT NULL auto_increment, `PHONE` char(10) default NULL, `VIN`...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru