Topic: Добавление данных в 2 таблицы

Понадобилось чтоб вилась история действий пользователя.
Вот и возник вопрос как реализовать подскажите

Re: Добавление данных в 2 таблицы

и еще один вопрос как в запросе использовать переменные
VarToStr( SQLExecute ('SELECT password FROM user WHERE login= @sUserName2')
sUserName2- переменная стринг

Re: Добавление данных в 2 таблицы

Реализовать можно, используя событие OnAfterClick кнопки отвечающую за сохранение и самостоятельно формировать SQL запрос для записи в базу с помощью функции SQLExecute


sPassword := VarToStr( SQLExecute ('SELECT password FROM user WHERE login="' + sUserName2+'"') );
вместо переменной можно подставить текст с компонента TextBox
sPassword := VarToStr( SQLExecute ('SELECT password FROM user WHERE login="' + Edit1.Text+'"') );
Dmitry.

Re: Добавление данных в 2 таблицы

да собственно я и сам уже разобрался просто лень было думать ))

5 (edited by urkov1987 2014-06-20 08:23:23)

Re: Добавление данных в 2 таблицы

тогда еще пару вопросов
1) есть два  бд грида как сделать чтоб сортировка была во 2 гриде по 1 гриду?
2) есть заявка с датой к примеру 16.06.2014  как проверить эту дату что прошло уже 3 дня что окрасить её.
3) Как изменить значок на программе.
4) Как вызвать выпадающее меню в верху чтоб добить свои пункты, а то слишком много лишних кнопок получется

Re: Добавление данных в 2 таблицы

1. К сожалению не понял вопроса )

2. Используем событие OnAfterClick от кнопки, отвечающую за поиск

procedure Form1_bSearch_OnAfterClick (Sender: string);
var
   i,c: integer;
   sDate: string;
begin
     c := Form1.GridSearch.RowCount-1; // узнаем количество строк в гриде                                                                         
     for i := 0 to c do // цикл перебора всех строк в гриде                                                                                                
     begin
          sDate := Form1.GridSearch.Cells[0,i]; // получаем из первого столбца текстовое значение даты                                                                                                                                 
          if ValidDate(sDate) then // на всякий случай проверяем, верный ли формат даты                                                                                                                            
             if StrToDate(sDate) <= (Date-3) then Form1.GridSearch.Cell[0,i].Color := clYellow; // сравниваем дату в ячейке с текущей датой +3 дня, если дата меньше или равно, то окрашиваем в желтный                                                                                                                                                                                                                                            
     end;
end;

3. В текущей версии это не поддерживается.

4. К сообщению прикреплен тестовый проект, с примером реализации, добавлен пункт в подменю File и непосредственно в меню
но перед этим скачайте версию 1.41
https://www.dropbox.com/s/fr76z69sc69l1 … 201.41.zip

Post's attachments

Attachment icon TestTMenu.zip 1.52 kb, 589 downloads since 2014-06-20 

Dmitry.

7 (edited by urkov1987 2014-06-20 16:42:49)

Re: Добавление данных в 2 таблицы

я может туплю после работы но ваше меню не рабтает и я не пойму в этом коде тоже не .. с утра буду разбираться
да и еще как защитить бд от вскрытия

Re: Добавление данных в 2 таблицы

urkov1987
данный пример проекта будет работать только в версии 1.41, которую я сегодня обновил, скачайте ее по ссылке ниже
https://www.dropbox.com/s/fr76z69sc69l1 … 201.41.zip

Dmitry.

9 (edited by urkov1987 2014-06-23 16:15:34)

Re: Добавление данных в 2 таблицы

procedure Form1_OnShow (Sender: string; Action: string); // событие происходит при появлении формы Form1
var
   MyItem1: TMenuItem;
   MyItem2: TMenuItem;
 //  MainMenu: TMenuItem;
begin
   MyItem1 := TMenuItem.Create (Form1.MainMenu);
   MyItem1.Caption := 'Мой пункт1';
   MyItem1.OnClick := @MenuClick1;


  MyItem2 := TMenuItem.Create (Form1.MainMenu);
   MyItem2.Caption := 'Мой пункт2';
   MyItem2.OnClick := @MenuClick2;
     
    MyItem2 := TMenuItem.Create (Form1.MainMenu);
   MyItem2.Caption := 'Мой пункт2';
   MyItem2.OnClick := @MenuClick2;  
   Form1.mniFile.Add(MyItem1);
   Form1.MainMenu.Items.Add(MyItem2);

end;

собственно как вызвать в пункте Мой пункт2 вызвать под меню
да и еще как изменить порядок вызова меню а то не красиво получается о программе в середине вылазеет а хотелось чтоб этот пунк был в конце

Re: Добавление данных в 2 таблицы

urkov1987
Доработал проект, добавляется подменю, а так же при добавлении пункта используется метод Insert, вместо Add
Form1.mniFile.Insert(0, MyItem1); // где первый параметр указывает на каком месте должен появиться пункт меню, в данном случае 0, значит на первом месте


перед использованием проекта, скачайте версию 1.42, где я реализовал метод Insert
https://www.dropbox.com/s/d7kwefk558xlv … 201.42.zip

Post's attachments

Attachment icon TestTMenu.zip 1.56 kb, 696 downloads since 2014-06-23 

Dmitry.