Форум программистов, компьютерный форум, киберфорум
Наши страницы
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
1

Dbgrid обновление

28.04.2014, 19:17. Просмотров 1028. Ответов 14
Метки нет (Все метки)

ВОт есть код
Pascal
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DB, ADODB, ExtCtrls, DBCtrls, Grids, DBGrids, StdCtrls;
 
type
  TForm1 = class(TForm)
    DataSource1: TDataSource;
    DBGrid1: TDBGrid;
    DBNavigator1: TDBNavigator;
    ADOConnection1: TADOConnection;
    ADOTable1: TADOTable;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Edit2: TEdit;
    Label3: TLabel;
    Label4: TLabel;
    ADOQuery1: TADOQuery;
    ADODataSet1: TADODataSet;
    Label5: TLabel;
 
    
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure DBGrid1TitleClick(Column: TColumn);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
      QuerySQL:string;
implementation
 
{$R *.dfm}
 
 
 
 
procedure  TForm1.Button1Click(Sender: TObject);
 
begin
           ADOQuery1.Active:=True;
     if ADOQuery1.Locate('ÒîâГ*Г°',edit1.text,[loCaseInsensitive,loPartialKey])=True then
    begin
     ShowMessage('ÒîâГ*Г° Г*Г*éäåГ*');
    end
    else
    begin
     ShowMessage('ÒîâГ*Г° Г*ГҐ Г*Г*éäåГ*');
    end;
 
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
     ADOQuery1.SQL.Clear;
   ADOQuery1.SQL.Add('SELECT * FROM Shop WHERE ÒîâГ*Г° LIKE ''edit2.text''');
   ADOQuery1.Active:=True;
   ADOQuery1.Open; 
end;
 
 
 
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
QuerySQL := 'SELECT * FROM Shop';
  with ADOQuery1 do
  begin 
    DisableControls; 
    Close;
    SQL.Clear;
    SQL.Add(QuerySQL);
    SQL.Add('ORDER BY ' + Column.FieldName +' ASC');
 
    Open;
    
    
    DBGrid1.Columns.RestoreDefaults;
    Column.Title.Font.Color := clBlue; 
    EnableControls; 
  end;
 
end;
 
end.
TForm1.DBGrid1TitleClick(Column: TColumn);//сортировка при нажатии на тайтл
procedure TForm1.Button2Click(Sender: TObject); //поиск значения
процедуры выполняются но dbgrid не меняется

Добавлено через 11 минут
Желательно до завтра помогите исправить. Заранее благодарен
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2014, 19:17
Ответы с готовыми решениями:

Обновление DBGrid
Здравствуйте! Обновить дбгрид, чтобы фокус остался в той же ячейке. При двойном клике у меня...

DBGrid и обновление.
Здравствуйте, у меня есть БД Access, подключено все через ADOTAble. На форме1 у меня происходит...

Обновление DBGrid
Ребят, проблема такая: есть форма с DBGrid куда выводится база, есть вторая форма на которой...

обновление DBGrid
Всем доброго вечера. Возник вопрос. Есть 1 DBGrid и 2 DataSource. Как сделать как чтобы сразу...

DBGrid и его обновление
доброе время суток! возникла проблема. плагином из стороннего приложения выбираю необходимые...

14
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,778
28.04.2014, 20:15 2
Цитата Сообщение от Андрей 94 Посмотреть сообщение
Желательно до завтра помогите исправить
Не видя dfm-файла тут просто говорить не о чем.
0
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
28.04.2014, 20:54  [ТС] 3
Вот пожалуйста
0
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
28.04.2014, 20:55  [ТС] 4
...
0
Вложения
Тип файла: rar Project DB.rar (324.5 Кб, 9 просмотров)
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
29.04.2014, 08:12  [ТС] 5
Цитата Сообщение от northener Посмотреть сообщение
dfm-файла тут просто говорить не о чем.
могу методичку скинуть тоже

Добавлено через 11 часов 16 минут
Помогите пожалуйста. Или хоть ссылку где написано как сделать киньте я уже все переискал
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,778
29.04.2014, 09:08 6
Цитата Сообщение от Андрей 94 Посмотреть сообщение
TForm1.DBGrid1TitleClick(Column: TColumn);//сортировка при нажатии на тайтл
procedure TForm1.Button2Click(Sender: TObject); //поиск значения
процедуры выполняются но dbgrid не меняется
В коде производятся разные манипуляции с ADOQuery1, а DBGrid привязан к ADOTable1
Естественно ничего в гриде и не меняется.
1
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
29.04.2014, 16:50  [ТС] 7
Цитата Сообщение от northener Посмотреть сообщение
В коде производятся разные манипуляции с ADOQuery1, а DBGrid привязан к ADOTable1
Естественно ничего в гриде и не меняется.
Ну я искал как производится сортировка и поиск нашел способ через ADOquery. Получается что бы изменить надо дописать как то апдейт ADOtable? Нашел два способа для этого

ADoTable1.Requery()
и

adotable1.close;
adotable1.prepared;
adotable1.open;
Ни тот ни другой не изменили результат. Но обновление происходит так как если изменить ширину колонки он станет дефолтной. Может я что то не то добавляю? Как бы я хочу что бы в результате поиска в дб грид оставались только те элементы id которых равен заданному в едит2. сортировка тоже вообще не происходит
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,778
30.04.2014, 00:01 8
Цитата Сообщение от Андрей 94 Посмотреть сообщение
надо дописать как то апдейт ADOtable?
А какой смысл? ADOtable показывает то что он берет из таблицы в БД. ADOQuery сортирует свою выборку из таблицы в БД. Т.е. ты берешь слова из книги и переписываешь их в другом порядке на листочек бумаги. А показываешь саму книгу а не этот листочек.
Подключи к гриду ADOQuery, а не ADOTable.
1
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
30.04.2014, 01:42  [ТС] 9
Цитата Сообщение от northener Посмотреть сообщение
Подключи к гриду ADOQuery, а не ADOTable.
а как?

Добавлено через 3 минуты
я убираю компонент ADOTable и грид пустой

Добавлено через 16 минут
Цитата Сообщение от northener Посмотреть сообщение
Подключи к гриду ADOQuery, а не ADOTable.
А все спасибо разобрался. но теперь как оказалось ругается сортировка

Добавлено через 7 минут
не могли бы вы исправить мой корявый код а то мне срочно нужно а разберуссь я потом когда врямя будет?
0
northener
30.04.2014, 02:22
  #10

Не по теме:

Цитата Сообщение от Андрей 94 Посмотреть сообщение
не могли бы вы исправить мой корявый код а то мне срочно нужно
Я только в 22:30мск вернулся домой из командировки. Исправлять сейчас чей-то код у меня нет никакого желания. Завтра может и найдётся время. Но не с утра.

0
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
30.04.2014, 21:34  [ТС] 11
Цитата Сообщение от northener Посмотреть сообщение
Я только в 22:30мск вернулся домой из командировки. Исправлять сейчас чей-то код у меня нет никакого желания. Завтра может и найдётся время. Но не с утра.
Если разберусь сам до этого напишу. В любом случае спасибо вы единственный кто попытался помочь

Добавлено через 14 часов 29 минут
Цитата Сообщение от northener Посмотреть сообщение
Я только в 22:30мск вернулся домой из командировки. Исправлять сейчас чей-то код у меня нет никакого желания. Завтра может и найдётся время. Но не с утра.
Сортировку исправил но поиск все таки не работает
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,778
01.05.2014, 02:23 12
Цитата Сообщение от Андрей 94 Посмотреть сообщение
Сортировку исправил но поиск все таки не работает
А мне (нам) гадать как выглядит измененный код?
0
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
01.05.2014, 07:33  [ТС] 13
Цитата Сообщение от northener Посмотреть сообщение
А мне (нам) гадать как выглядит измененный код?
Pascal
1
2
3
4
procedure TForm1.DBGrid1TitleClick(Column: TColumn);
begin
adoquery1.Sort:=Column.FieldName + ' ASC';
  end;
Вот может кому пригодится. Ну и там еще у меня график появился о он к поиску как бы отношения не имеет поэтому считаю не нужным перезаливать весь проект
0
northener
пофигист широкого профиля
3427 / 2326 / 631
Регистрация: 15.07.2013
Сообщений: 13,778
02.05.2014, 03:02 14
Цитата Сообщение от Андрей 94 Посмотреть сообщение
Вот может кому пригодится.
Может и пригодится.
Значит код поиска остался прежний?

Добавлено через 18 минут
Ну тогда у меня твой код всё правильно ищет В чём проблема не понятно.

P.S. Кстати если тебе не понятно, но интересно почему раньше сортировка не работала, с сейчас заработала, могу объяснить. Но к поиску это не относится.
1
Андрей 94
19 / 19 / 3
Регистрация: 11.11.2012
Сообщений: 253
06.05.2014, 16:06  [ТС] 15
Цитата Сообщение от northener Посмотреть сообщение
P.S. Кстати если тебе не понятно, но интересно почему раньше сортировка не работала, с сейчас заработала, могу объяснить. Но к поиску это не относится.
Спасибо разобрался со всем вроде.Пытаюсь теперь это все запихнуть в шаблон MSWord
0
06.05.2014, 16:06
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
06.05.2014, 16:06

Обновление данных в dbgrid
Как обновить данные в дбгриде после добавления? вот код добавления Form1.ADOQuery1.Close();...

Обновление данных в DBgrid
Доброй ночи! Delphi + Access 2010. Забегая вперед, скажу, что вычисляемые поля сделанные в БД - это...

Автоматическое обновление DBGrid
Здравствуйте! Подскажите, пожалуйста, как осуществить автоматическое обновление таблицы на форме,...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru