![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#1
|
||||
|
||||
|
Очень срочно нужна помощь.
Писал софт под учет товара + продажа, тестировал прогу на своей бд до 30 позиций. Все работало как нужно но дали мне почти 7000 позиций и на 11 столбиков. Тут я и Ближе к теме: загружаю из dbgid в stringgrid все позиции и [b] жду жду .... Результат открывается но проходит много времени. Вопрос как можно быстрей выгрузить данные из dbgid в stringgrid Знаю что подход неправильный но переделывать очень много а времени как всегда нет. ( Мой код: Код:
procedure TForm3.N7Click(Sender: TObject);
var
i200, j200:Integer;
begin
ADOQuery3.Active:=False;
AdoQuery3.SQL.Clear;
ADOQuery3.SQL.Text:='SELECT COUNT (*) FROM Products;';
ADOQuery3.Active:=true;
if not ADOQuery3.Eof then
begin
if not ADOQuery3.FieldByName('Expr1000').IsNull then
begin
dbCountInt23:=ADOQuery3.fieldbyname('Expr1000').AsInteger;
end
else
begin
ShowMessage('Ошибка! При выборке данных 00EX0CN');
end;
end;
ADOQuery3.Close;
StringGrid2.RowCount:=2;
StringGrid2.RowCount:=dbCountInt23 +1;
AdoQuery3.Close;
AdoQuery3.SQL.Clear;
AdoQuery3.SQL.Add('SELECT Products.Kod, Products.Articul, Products.Positions, Products.Cols, Products.Warehouse, Products.PresentPrice, Products.Comment FROM Products;');
ADOQuery3.Open;
j200 := 1;
DBGrid1.DataSource.DataSet.First;
while not DBGrid1.DataSource.DataSet.Eof do
begin
for i200 := 0 to DBGrid1.Columns.Count -1 do
begin
StringGrid2.Cells[0,0]:='КОД';
StringGrid2.Cells[1,0]:='АРТИКЛ';
StringGrid2.Cells[2,0]:='НАИМЕНОВАНИЕ ПОЗИЦИИ';
StringGrid2.Cells[3,0]:='КОЛИЧЕСТВО';
StringGrid2.Cells[4,0]:='СКЛАД';
StringGrid2.Cells[5,0]:='ЦЕНА';
StringGrid2.Cells[6,0]:='КОМЕНТАРИЙ';
StringGrid2.Cells[i200, j200] := DBGrid1.DataSource.DataSet.Fields[i200].AsString;
//------------------------------------->
Form3.Repaint;
StringGrid2.Repaint;
end;
Inc(j200);
DBGrid1.DataSource.DataSet.Next;
end;
end; |