![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Добрый день.
Столкнулся с такой проблемой. Есть ListBox (много записей) его надо записать в базу (скорее всего access). Проблема в том что в листбоксе есть повторяющиеся записи и надо что бы в бд не было повторений а в поле count отображалось количество повторов. пример listbox: вася петя саша вася петя в БД: name count вася 2 петя 2 саша 1 Как такое лучше реализовать? а то что-то мозги не хотят думать ![]() |
|
#2
|
||||
|
||||
|
кружка кофе делает свое дело
![]() немного подумал и сделал так: Код:
for i:=0 to k do
begin
j:=i+1;
while j <= k do
begin
if listbox2.Items[i]=listbox2.Items[j] then begin
listbox2.Items.Delete(j);
k:=k-1;
end;
inc(j);
end;
end; вроде убирает повторы..а можно как-нибудь это сделать на SQL? |
|
#3
|
||||
|
||||
|
SELECT DISTINCT TableName FROM FieldName
|
|
#4
|
|||
|
|||
|
Только
SELECT DISTINCT FieldName FROM TableName ![]() |
|
#5
|
||||
|
||||
|
да. точно. перепутал чуток...
![]() |
|
#6
|
||||
|
||||
|
ну это я и так знаю
![]() Теперь вопрос в другом: как записать в базу только уникальные данные? т.е. программа работает так: получает через определенное время время инфу в лист бокс, а потом записывает данные в базу и снова получает новые данные. Проблема в том что данные могут не поменяться(остануться преждними) и в базу запишутся те же значения которые уже были в лист боксе. Как это предотвратить? Проверять каждое значение не очень охота... так как значений будет пару тыс. |