![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Запись в DBGrib
syte_ser78 © (2003-07-30 22:44:00)
Значит есть у меня два грида, в одном выбираю запись и нужно чтобы записи с одинаковых полей отобразились во втором гриде, а в определенной ячейке второго грида еще появилась запись в виде год_меся_день_час_минута
Как это сделать?
syte_ser78 (2003-08-02 01:41:00) [1]
Всем огромное спасибо. Помог именно совет SPIRIT
Table1.FieldByname("ID").value:=now//тип поля должен DateTime
MsGuns (2003-07-31 17:37:00) [2]
>SPIRIT © (31.07.03 17:14)
>Внимание: В двух таблицах не должно быть одинаковых полей!!!!!!
Это что, революция в базах данных ? Межтабличные связи - на фиг ? Это точно препод говорил ?
SPIRIT (2003-07-31 17:17:00) [3]
Удалено модератором
Примечание: Задай свой вопрос в отдельной ветке
SPIRIT (2003-07-31 17:14:00) [4]
Ошибка номер 1 в проектировании БД... мой препод по информатике пару лет назад выгнал бы меня из аудитории...а остальным бы сказал вот ЭТО----
Внимание:В двух таблицах не должно быть одинаковых полей!!!!!!
это не экономит память !!!!!!!!у уууу бойтесь.... ваш компутер задумается над этими полями и больше никогда не будет выдавать правильные sql запросы.... так что не злите его и корректно проектируйте Вашу БД .... ууууу ууу у
ulyanitsky (2003-07-31 16:54:00) [5]
А я бы делал так:
(Смысл: пользователь во втором DBGrid добавляет новую запись и автоматически заполняются необходимые поля).
procedure TForm1.ADODataSet2AfterInsert(DataSet: TDataSet);
begin
ADODataSet2.FieldByName("Data1").AsInteger := ADODataSet1.FieldByName("Data1").AsInteger;
ADODataSet2.FieldByName("Data2").AsString := ADODataSet1.FieldByName("Data2").AsString;
...
end;
где Data1 и Data2 - совпадающие поля в обоих ADODataSet2.
TForm1.ADODataSet2AfterInsert - событие AfterInsert компонента ADODataSet2.
*****************************************************************
А если хочешь на кнопочку сделать, то так:
procedure TForm1.SpeedButton1Click(Sender: TObject);
begin
ADODataSet2.Insert;
DBGrid2.SetFocus;
end;
Извини, на счет даты не успел... (про нее пример уже давали (function Now).
и всё.
Ульяницкий Николай
SPIRIT (2003-07-31 09:15:00) [6]
не понял фишку вопроса до конца значит так :
Table1.edit;
Table1.FieldByname("ID").value:=now//тип поля должен DateTime
Table1.post;
table2.insert;
TAble2.fieldbyname("numer").value:=table1.fieldbyname("numer").value;
TAble2.FieldByName("ves").value:=Table1.Fieldbyname("ves").value;
Table2.Post;
и все равно с весом ты тупишь
SPIRIT (2003-07-31 09:10:00) [7]
в Грид вставить невозможно т.к. он только отображает информацию из твоего DataSet(TTable,TQuery) соответсвенно вставка происходит в них а не в ГРИД !!!!
соответсвенно на OnButtonClick запись такова:
Table1.Insert;//вставляем в таблицу где номер, вес, кол-во, ID
TAble1.FieldByName("ves").value:=Table2.Fieldbyname("ves").value;
....................................
Table1.Fieldbyname("koli4estvo").value:=spinedit1.value;
Table1.FieldByname("ID").value:=now//тип поля должен DateTime
Table2.Post;
шелкаешь на DBGrid который отображает то, от куда береться и на кнопку потом.....
а зачем вес храниться в двух тейблах мне не понятно.....
ЮЮ (2003-07-31 02:45:00) [8]
>Один связан с БД с такими полями - Номер, Название,Вес, цена
>Другой связан с БД с такими полями
Таблицы то хоть разные? Иди это разные запросы к одной и той же таблице?
Eduard (2003-07-30 23:49:00) [9]
В SQL-2000 элементарно -
Пишем ХП, подключаем на форму, пишем обработку на кнопку (передаем параметры @IDBase - FieldByName("IdBase1"), @Date - Date() или другая дата, которая надо)
Insert Into Base2 (IDBase2, KolBase2, DateBase2)
Select IDBase1, Kolbase1, @Date
From Base1
Where IdBase1=@IdBase
GO
Все
syte_ser78 (2003-07-30 23:36:00) [10]
Буду ждать
ulyanitsky (2003-07-30 23:32:00) [11]
Подумаю, 31.07.03 вечером скажу
syte_ser78 (2003-07-30 23:26:00) [12]
Во втором создается новая запись, тоесть - вставка
ulyanitsky (2003-07-30 23:22:00) [13]
И второй грид переходил в режим вставки с данными из первого грида или происходила замена данными из первого пустых полей второго?
syte_ser78 (2003-07-30 23:09:00) [14]
Короче два грида. Один связан с БД с такими полями - Номер, Название,Вес, цена
Другой связан с БД с такими полями - Номер, вес, кол-во, ID
Прищелчке на первом гриде (или нажатии добавить) Номер и вес и первого Грида копировались в новую запись второго грида а поле ID вставлялась запись год_месяц_день...
ulyanitsky (2003-07-30 23:02:00) [15]
Честно говоря ничего не понял. Что значит /и нужно чтобы записи с одинаковых полей/? Опиши детальнее.