Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
вот тут такая проблема возникла... пишу в программе: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. и всё работает, но вот если я выбираю из списка таблицу PIVO, то в таблице TABLE2 показываются поля таблицы PALATKA, но не показываются данные которые должны быть. А если я выбираю любое другое название таблицы, то в TABLE2 показывается таблица PALATKA и данные соответствующие. Мне так кажется что я что-то всё-таки забыл дописать или ошибка с MAsterField подскажите плиз. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.03.2003, 20:42 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Предъяви структуру базы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 09:50 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Ты имеешь ввиду таблицы показать? Вот: Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 11:11 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
А какие данные долны быть? Ты связываешь таблицы PIVO и PALATKA - а в них нет ничего общего... Зачем такая связь? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 14:12 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
1. Структура базы никуда не годится. 2. Как следствие п.1 - В таблице 'PALATKA' нет поля 'ID', по которому она должна связываться с мастер-полем 'ID' мастер-таблицы 'PIVO', поэтому и не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 14:15 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Вроде все работает как надо procedure TForm1.Button1Click(Sender: TObject); begin Table2.Close; Table1.Close; Table1.TableName:='PIVO'; Table2.MasterSource:=DataSource1; Table2.TableName:='PALATKA'; Table2.MasterFields:='ID'; Table1.Open; Table2.Open; end; procedure TForm1.Button2Click(Sender: TObject); begin Table2.Close; Table1.Close; Table1.TableName:='ZAKUSKA'; Table2.MasterSource:=DataSource1; Table2.MasterFields:='ZAKUSKA'; Table1.Open; Table2.Open; end; Проверь структуру таблиц, связываеммые поля сделай первичными ключами. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 14:22 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Ну я ошибся в структуре тут. вообещм в PALATKA и PIVO есть общие поля. и в таблице PIVO один столбец совпадает с PALATKA, но не совпадает больше ни с какой другой таблицей. Для этого я меняю MasterField. но вот не работает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 23:02 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
2ALL: ребята а вот еще вопрос такой. в БД у меня есть процедура и View. Как мне сделать так чтобы в Дельфях эти фишки срабатывали по нажатию на кнопку? ну я повесил две кнопки на форму, а как сделать что бы это работало в принципе не знаю. помогите плиз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.03.2003, 23:12 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Для вызова процедуры - TStoredProc View - это таже таблица, работаешь как с таблицей. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 10:04 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
2SmaLL: то есть с VIEW я просто ставлю TableName:='View'? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 11:14 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
если у тебя view так и называется VIEW, то да, используешь его вместо имени таблицы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 12:24 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
2SmaLL: блин, я что-то совсем ступил.. спрашиваю - хотя дельфя под рукой и протестить типа не судьба. Я всё сделал. всё ништяк работает... хотя View у меня называется не View, но всё равно он идёт как Table Name... И с процедурой тоже вроде разобрался, так что спасибо большое . :) Теперь пошёл с отчётами разбираться. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.03.2003, 23:59 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Не могу что-то разобраться как работает StoreProc выкидывает всё время ошибку. Не мог бы сказать как там правильно всё написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 14:57 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Какую ошибку? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2003, 17:01 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
вообщем я делаю на форме отдельную Grind3, DataSource3, StoredProc1, и на кнопку хочу повесить выполнение процедуры под названием FORALL1. В свойствах StoredProc1 ставлю databaseName В DataSource3 ставлю DataSet: StoredProc1 В DBGrid3 ставлю DataSource: DataSource3... И теперь как только ставлю StoredProc1 Active=True он выкидывает ошибку: "Error creating cursor handle." А мне ведь еще на этом Grid делать и View. Но View я повесил на другую кнопку и написал там так: procedure TForm1.Button1Click(Sender: TObject); begin Table3.open; end; Но ведь если сначала нажмут на Процедуру, то у меня Table3 будет уже открыт... тогда еще надо добавить наверное такую фишку: if table3.Active=true then begin table3.Close; table3.Open; end else или нет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2003, 00:41 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
А что вообще делает твоя SP? Может она не возвращет набор данных? В этом случае ее не надо привязывать к DBGrid, а вызывать надо StoredProc1.ExecProc. Но ведь если сначала нажмут на Процедуру, то у меня Table3 будет уже открыт Это почему?! Ты может имел в виду: DBGrid будет содержать данные? Узнай точно что за хранимая процедура, ее параметры и что она делает. Опиши все компоненты TTable, TDataSource и TDBGrid. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2003, 10:44 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Да кстати. ты Прав. ведь StoreProc не привязан к Table. Моя процедура возвращает значение MAXSUMM . сейчас написал просто DataSource3.DataSet:=StoredProc1; StoredProc1.ExecProc; ну запускаю. нажимаю на кнопку. всё без ошибок, но не выводит ни чего. DataSource3 приходится присваивать потому что до этого на неё присвоина Table3. Но разве не надо сначала StoredProc1 привести в Active:=true? вот как только это меняю он пишет ошибку: "Error creating cursor handle." ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2003, 12:41 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
Если SP возвращает не набор данных, то надо делать что-то вроде: Код: plaintext 1. 2. 3. 4. Это все примерно! Детали зависят от процедуры. Никаких DataSource и Active:= true, в твоем случае, не нужно! Оставь свой Table3.DataSource = DataSource3 и не дергай. StoredProcedure1.Active:= true нужно делать в случае, если твоя процедура возвращает не число или несколько чисел, а набор данных (набор - это результат выборки SELECT). Это все грубо говоря. Опять же - есть детали, нюансы... Если у тебя есть доступ к БД - узнай текст процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2003, 16:08 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
так он будет выводить сообщение. а мне надо чтобы он показал на DBGrid. А процедура, правда это не та, но на неё тоже надо будет делать: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. И вот надо чтобы по нажатию на кнопку в DBGrind показывался результат. как это сделать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 22.03.2003, 21:13 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
По моему - никак. Надо менять процедуру так, чтобы она возвращала данные не через переменную а через выбор. Вместо SUMDIG=k+i+l; попробуй что-то вроде SELECT k+i+l А что за СУБД? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 11:25 |
|
||
|
вопрос по masterField.
|
|||
|---|---|---|---|
|
#18+
В InterBase нельзя возврашать из хранимой процедуры набор данных! (кажется) Тебе обязательно число пихать в грид? Если да, то можно обойти проблемму. Например: делаешь суррогатную таблицу с одним полем, при нажатии на кнопку в хранимой процедуре ее обновляешь, извлекаешь простым селектом в грид. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.03.2003, 15:07 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=32122498&tid=2118810]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
80ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
38ms |
get tp. blocked users: |
1ms |
| others: | 273ms |
| total: | 429ms |

| 0 / 0 |
