Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Вниз

Не могу получить данные записи для редактирования   Найти похожие ветки 

 
Fuelfire   (2003-05-14 07:14) [0]

Уважаемые! Помогите разобраться. На главной форме есть DBGrid, ComboBox, Query и DataSource. Они понятно завязаны друг на друге для того, чтобы по выбору значения из выпадающего списка в гриде показывались выбранные по LIKE значения. По двойному клику на ячейке грида осуществляется переход на форму редактирования. Обе формы используют один и тот же датасоурс. Так вот у меня при переходе на форму редактирования выдаются пустые поля. Может нужно явно передавать номер записи?


 
Виталий Панасенко   (2003-05-14 08:35) [1]

А DBEdit"ы связаны с соответствующими полями ?


 
Fuelfire   (2003-05-14 08:45) [2]

Да...В FildName всех полей выбираю поля, которые есть в Query..


 
Sergey13   (2003-05-14 09:05) [3]

2Fuelfire (14.05.03 08:45)
ИМХО, надо смотреть нет ли где какого то переоткрытия датасета при вызове/создании/показе формы редактирования.


 
Соловьев   (2003-05-14 09:55) [4]

используй DataModule.


 
Fuelfire   (2003-05-14 11:14) [5]

Да, использую DataModule и ссылаюсь на его ДатаСоурс..Мне кажется, что я накосячил в самом запросе..Сегодня загоню его в ISQL и проверю дома. Но в любом случае спасибо за советы, ребята...


 
Fuelfire   (2003-05-15 10:17) [6]

И снова я...Изучение 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. Может и на форме редактирования запросу нужно повторно скармливать параметр?


 
Наталия   (2003-05-15 10:21) [7]

На форме редактирования какие компоненты расположены? Как связаны с DataSource?


 
Соловьев   (2003-05-15 10:22) [8]


> При переходе по двойному клику на форму редактирования Form7.ShowModal;
> получаю пустую форму

кажется догнал.. когда ты дважды кликаешь у тебя нвреное НД переходит в режим редактирования... сделай у грида ReadOnly=true.
Или попробуй при активации формы проверять, что если
нд.State in [dsEdit], то
нд.Post;
нд.Edit;


 
Fuelfire   (2003-05-15 10:26) [9]

На форме редактирования расположено 6 DBEditBox... DataSource - DataModule2.SourceQuery, DataField - соответствующие поля из Query...2 ДБчекбокса (завязаны также) и 2 DBMemo (Blob), связанных аналогично...Ну и кнопка "Сохранить"...


 
Fuelfire   (2003-05-15 10:31) [10]

У Грида изначально задумывалось ReadOnly=True...У Грида В событии DblClick одна строка Form7.ShowModal; Ну и еще я пробовал вытащить номер записи n:=Query1.RecNo;


 
Соловьев   (2003-05-15 10:34) [11]


> Fuelfire (15.05.03 10:31

просто по нажатии кнопки попробуй.


 
Fuelfire   (2003-05-15 10:39) [12]

Добавил кнопку на главную форму, навесил событие - тоже самое...Похоже проблема не в этом...С помощью дерева я могу выбрать записи в Гриде на нужную букву...А вот как их редактировать? Пока еще не пойму..С формой - ботва какая-то получается..


 
Соловьев   (2003-05-15 10:40) [13]


> Добавил кнопку на главную форму, навесил событие - тоже
> самое...

нд в каком состоянии?


 
Fuelfire   (2003-05-15 10:58) [14]

Если под НД понимать набор данных (я просто недавно на форуме и недавно соответственно ковыряюсь в Делфи), то у DataSource свойство Enable = True...У Query Active=True


 
Соловьев   (2003-05-15 11:10) [15]

состояние, я имею в виду - dsInsert, dsEdit и тому подобное...


 
Fuelfire   (2003-05-15 11:14) [16]

Все....Догнал в чем бага...К сожалению, не знаю Вашего имени тов. Соловьев...Но - большое человеческое спасибо..


 
Соловьев   (2003-05-15 11:18) [17]


> Все....Догнал в чем бага...

ну и вчем?


 
Fuelfire   (2003-05-15 11:23) [18]

Не смейтесь сильно....На форме редактирования то я ссылался на DataModule, где лежат Query1 и SourceQuery...А на главной - на Query1 и SourceQuery, абсолютно идентичные, но расположенные на форме...Вот тут и была собака зарыта...


 
Соловьев   (2003-05-15 11:25) [19]


> Не смейтесь сильно....

сам таким был... ну ничего главное что догнал...


 
Fuelfire   (2003-05-15 13:13) [20]

Еще один вопросик: на форме редактирования выдаются данные по запросу...Столкнулся с тем, что в них ничего не введешь...Что в этом случае можно сделать?


 
Соловьев   (2003-05-15 13:17) [21]


> 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)

этот?
TUpdateSQL


 
Fuelfire   (2003-05-15 13:24) [22]

Можно подробнее объяснить? Назначить Query1 тип TUpdateSQL? Мне кажется я не так понял...


 
Соловьев   (2003-05-15 13:25) [23]

TBDEDataSet.UpdateObject


 
Fuelfire   (2003-05-15 13:45) [24]

Ругается при компиляции на строку DataModule2.Query1.UpdateObject;
"Statement expected, but expression of type "TDataSetUpdateObject" found"


 
Fuelfire   (2003-05-15 14:17) [25]

Попробовал еще так:
DataModule2.Query1.CanModify:=true;
Ругается, что невозможно применить к ReadOnly свойству.


 
Соловьев   (2003-05-15 14:51) [26]


> Ругается при компиляции на строку DataModule2.Query1.UpdateObject;

в дизайн-тайме надо выставить это свойство у query


 
Fuelfire   (2003-05-15 14:57) [27]

Так вот в том и дело, что я не знаю как его выставить...В хэлпе написано, что в это свойство загоняется название запроса....


 
Соловьев   (2003-05-15 15:00) [28]


> Так вот в том и дело, что я не знаю как его выставить...

мышкой, предварительно положив на форму TUpdateSQL...


 
Fuelfire   (2003-05-15 15:04) [29]

Сделал...А какое из свойств заполнять для UpdateSQL? Modify? Delete? Insert? И самое главное что туда нужно занести?


 
Соловьев   (2003-05-15 15:08) [30]


> Fuelfire (15.05.03 15:04)

двойной клик на TUpdateSQL...



 
Fuelfire   (2003-05-16 07:11) [31]

Поначалу ничего не произошло... А после изменения на истинное свойства CachedUpdate - все заработало...Спасибо!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.06.05;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.01 c
14-13453
Не программист.
2003-05-19 19:19
2003.06.05
Скан.


1-13251
Вячеслав Белкин
2003-05-21 14:20
2003.06.05
Как вызвать SetLength из процедуры на ассемблере


4-13513
Allex
2003-04-08 11:38
2003.06.05
Слияние файлов


14-13391
Bokus
2003-05-16 01:06
2003.06.05
Как и гле получить права на свою программу


7-13483
Shuric
2003-04-03 18:32
2003.06.05
Не напомнит ли кто (про реестр)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский