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

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

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

Author24 — интернет-сервис помощи студентам
Переношу строки из 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
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2015, 07:16
Ответы с готовыми решениями:

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

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

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

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

3
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
28.04.2015, 09:27 2
По моему здесь без TStringList не обойтись во всяком случае там есть свойство Duplicates
0
479 / 392 / 112
Регистрация: 24.04.2012
Сообщений: 1,632
Записей в блоге: 3
28.04.2015, 12:24 3
Цитата Сообщение от Clockwize Посмотреть сообщение
Переношу строки из Excel в StringGrid
А если на прямую подключится? Не вариант?
Цитата Сообщение от Clockwize Посмотреть сообщение
повторяющиеся записи
Критерии повторяющихся записей какие? По всем полям?
Как вариант сделать два датасета и по фильтру проверять кол-во совпадающих записей.
0
0 / 0 / 0
Регистрация: 21.04.2015
Сообщений: 2
28.04.2015, 16:16  [ТС] 4
Не вариант.
Критерий составной ключ по 4 полям, пробовал сравнивать все 4 поля с ячейками в StringGrid, но не получилось
0
28.04.2015, 16:16
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.04.2015, 16:16
Помогаю со студенческими работами здесь

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru