|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Как вывести значение из DBGrid в переменную
Помогите пожалуйста решить задачу, уже несколько дней мучаюсь и никак не могу понять в чем проблема. У меня DBGrid визуализирует данные таблицы SOKPO, которая содержит 1 столбец с именем P_N, он содержит большое число записей( 93 000 ). Мне нужно чтобы по щелчку кнопки Button1 Итоговые значения записывались в txt файл.
(Я вывел данные по возрастанию "ORDER BY P_N"); Например. В стоблце P_N, номер 224 встретился 10 раз, а номер 225 встретился 15 раз. Надо что в текстовый файл попали такие значения : 224 10 225 15 (В итоги 93 000 строк должны превратиться в 69(без повторений)) Умоляю помогите.. Код:
procedure TForm1.Button1Click(Sender: TObject); var d:textfile; k,i,n:Integer; v:integer; PN,P_N:string; begin AssignFile(d,'Итог.txt'); Append(d); DBGrid1.DataSource.DataSet.DisableControls; DBGrid1.DataSource.DataSet.First; n:=1; k:=1; with DBGrid1 do begin while not DataSource.DataSet.Eof do begin for v:=1 to Datasource.DataSet.RecordCount-1 do begin PN:=Fields[v].AsString; Datasource.DataSet.Next; P_N:=Fields[v].AsString; if PN=P_N then begin n:=n+1; DataSource.DataSet.Next; end else begin Write(d,PN,' '); Write(d,n, ' '); Writeln(d); n:=0; DataSource.DataSet.Next; end; DataSource.DataSet.Next; end; DataSource.DataSet.Next; end; CloseFile(d); end; DBGrid1.DataSource.DataSet.EnableControls; end; Последний раз редактировалось Admin, 05.05.2011 в 18:09. |
#2
|
||||
|
||||
Под дистинкт загнать. И еще каунт запользовать. В запросе все это сделать можно.
— Как тебя понимать? — Понимать меня не обязательно. Обязательно меня любить и кормить вовремя. На Delphi, увы, больше не программирую. Рекомендуемая литература по программированию |
#3
|
|||
|
|||
Да но мне нужно чтобы данные не повторялись в текстовом файле..
Можешь пожалуйста код показать? |
#4
|
||||
|
||||
Может это:
Код:
select t.p_n, count(t.p_n) from sokpo t group by t.p_n |