![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не могу получить данные записи для редактирования
Fuelfire © (2003-05-14 07:14:00)Уважаемые! Помогите разобраться. На главной форме есть DBGrid, ComboBox, Query и DataSource. Они понятно завязаны друг на друге для того, чтобы по выбору значения из выпадающего списка в гриде показывались выбранные по LIKE значения. По двойному клику на ячейке грида осуществляется переход на форму редактирования. Обе формы используют один и тот же датасоурс. Так вот у меня при переходе на форму редактирования выдаются пустые поля. Может нужно явно передавать номер записи?
Соловьев (2003-05-15 10:34:00) [21]
> Fuelfire (15.05.03 10:31
просто по нажатии кнопки попробуй.
Fuelfire (2003-05-15 10:31:00) [22]У Грида изначально задумывалось ReadOnly=True...У Грида В событии DblClick одна строка Form7.ShowModal; Ну и еще я пробовал вытащить номер записи n:=Query1.RecNo;
Fuelfire (2003-05-15 10:26:00) [23]На форме редактирования расположено 6 DBEditBox... DataSource - DataModule2.SourceQuery, DataField - соответствующие поля из Query...2 ДБчекбокса (завязаны также) и 2 DBMemo (Blob), связанных аналогично...Ну и кнопка "Сохранить"...
Соловьев (2003-05-15 10:22:00) [24]
> При переходе по двойному клику на форму редактирования Form7.ShowModal;
> получаю пустую форму
кажется догнал.. когда ты дважды кликаешь у тебя нвреное НД переходит в режим редактирования... сделай у грида ReadOnly=true.
Или попробуй при активации формы проверять, что если
нд.State in [dsEdit], то
нд.Post;
нд.Edit;
Наталия (2003-05-15 10:21:00) [25]На форме редактирования какие компоненты расположены? Как связаны с DataSource?
Fuelfire (2003-05-15 10:17:00) [26]И снова я...Изучение BDE затянулось на создании обычного справочника...Свой SQL-запрос проверил..Все работает чин-чинарем:
SELECT Games.ID, Games.Name, Games.GenreID, Games.Played, Games.Publishier, Games.Developer, Games.GameYear, Games.Net, Games.Playability, Games.Graphics, Games.Sound, Games.Solution, Games.Cheat, Genres.GenreName, Firms.FirmName, Articles.GameID, Articles.Info
FROM "Games.DB" Games LEFT OUTER JOIN "Firms.DB" Firms on (Games.Developer = Firms.ID) LEFT OUTER JOIN "Genres.DB" Genres ON (Games.GenreID = Genres.ID)
LEFT OUTER JOIN "Articles.DB" Articles ON (Games.ID = Articles.GameID) WHERE (Name LIKE :Name_param)
В Name_param подставляю значение выбранного Node в TreeView:
Query1.Close;
If TreeView1.Items[0].Selected = true then
begin
par:="%"
end else
par:=String(TreeView1.Selected.Text) + "%";
Query1.ParamByName("Name_param").AsString := par;
Query1.Open
При переходе по двойному клику на форму редактирования Form7.ShowModal; получаю пустую форму.. Все поля завязаны через DataSource: DataModule2.SourceQuery. Может и на форме редактирования запросу нужно повторно скармливать параметр?
Fuelfire (2003-05-14 11:14:00) [27]Да, использую DataModule и ссылаюсь на его ДатаСоурс..Мне кажется, что я накосячил в самом запросе..Сегодня загоню его в ISQL и проверю дома. Но в любом случае спасибо за советы, ребята...
Соловьев (2003-05-14 09:55:00) [28]используй DataModule.
Sergey13 (2003-05-14 09:05:00) [29]2Fuelfire (14.05.03 08:45)
ИМХО, надо смотреть нет ли где какого то переоткрытия датасета при вызове/создании/показе формы редактирования.
Fuelfire (2003-05-14 08:45:00) [30]Да...В FildName всех полей выбираю поля, которые есть в Query..
Виталий Панасенко (2003-05-14 08:35:00) [31]А DBEdit"ы связаны с соответствующими полями ?