:: Visual Foxpro, Foxpro for DOS
Re: Помогите с CursorAdapter
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
akvvohinc
Могу только повторить свой совет...
На мой взгляд, выбран "странный" способ решения проблем - без изучения основ (базы) пытаться понять "как оно должно быть", изучая чужие примеры без пояснений.
По-прежнему считаю его самым лучшим, сорри.

Это не совет, это точка зрения, абсолютно правильная, но не помогает ..
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
akvvohinc

Сообщений: 4201
Откуда: Москва
Дата регистрации: 11.11.2008
Цитата:
Это не совет, это точка зрения, абсолютно правильная, но не помогает ..
А по-моему, это прямой совет - изучить основы (пусть даже параллельно всему остальному).
А, например, переменные и область их видимости относятся к базовым знаниям..

Можно оборудовать великолепные помещения в доме, но если он сам стоит на песке, то жить там опасно - никогда не знаешь, в какой момент и по какой причине он рухнет.

PS
А не помогает, потому что просто приняли к сведению, но не следуете (хотя бы ради проверки).



Исправлено 1 раз(а). Последнее : akvvohinc, 19.03.23 17:04
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
Если с созданием КАД в методе load кое как разобрался, остался невыясненным вопрос, как его через DE можно создать.
В DE формы-справочника только КАД, таблиц нет, источник ODBC.
В методе load ничего в этом случае не пишу.
Фокс сообщает - нет открытых таблиц.
В приложенных картинках заполненные поля конструктора, что я снова неправильно делаю?



Исправлено 1 раз(а). Последнее : DmitryKn, 19.03.23 17:15
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
akvvohinc
...
Можно оборудовать великолепные помещения в доме, но если он сам стоит на песке, то жить там опасно - никогда не знаешь, в какой момент и по какой причине он рухнет.

Это да. Мудро и красиво.
А еще можно долго и сильно сигналить ученику, заглохшему на перекрестке.

Советом помогите лучше, честное слово. Бьюсь с КАД все выходные..



Исправлено 1 раз(а). Последнее : DmitryKn, 19.03.23 17:14
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
() Переделай на "без КАД"-а... КАД правда - только оболочка над SQL-запросами, с нудными свойствами, с механизмом поведения обслуживания этих свойств можно много время потратить, чтобы вдруг узнать, что "такой фигни он не может". В фоксе есть удачные и неудачные фишки, юзай только удачные )
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
Владимир Максимов

Сообщений: 14095
Откуда: Москва
Дата регистрации: 02.09.2000
DmitryKn
А тут везде встречаю, что локал вью только для лохов, а все нормальные пацаны СА мутят.

Для разработчика есть только один критерий - работает или нет. Все остальное - значения не имеет. Если Вам удобнее пользоваться View - пользуйтесь.

Главная проблема View (Local или Remote) - это тот факт, что он физически находится внутри контейнера базы данных (внутри DBC). Это значит, что его модификация "на лету" (в процессе выполнения приложения) - невозможна. С другой стороны, возможно, это как раз его достоинство

Поскольку у Вас подключение к внешней базе данных, то сравнение уместно с Remote View. И вот тут возникает проблема динамического изменения источника данных. Можно, но все строится на неких предварительно сделанных настройках по умолчанию

С этой точки зрения Cursor Adapter существенно удобнее. Это просто некий класс-обертка, который строится "вокруг" запроса. Он, собственно, и придуман для того, чтобы "на лету" (в процессе выполнения кода) вносить в него те или иные изменения. Ну, например, строку подключения поправить.

По поводу Cursor Adapter есть цикл статей Юрия Шутенко. Как создавать, как использовать, на что обращать внимание

kodu.neti.ee

Сайт, вообще-то, эстонский, но, вроде бы, пока не блокируется. Я вот только что зашел без проблем.
Ratings: 0 negative/1 positive
Re: Помогите с CursorAdapter
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
Сайт очень интересный и полезный, спасибо!

с самим КАД очень поверхностно, но разобрался.
вообще, задача стояла использовать ( заранее приношу извинения за термины, я не кадровый программист и не талантливый самоучка ), так вот, использовать "внешнюю базу".
Как мне подсказали, можно использовать RV, а можно КАД, и КАД отличный инструмент.
В свою очередь КАД можно "подключать" программно, например, из load формы, а можно в DE.
Вот все это я и пытался разобрать, что бы понимать, что и как пытаться использовать.
И если "программно" с грехом пополам понятно, то из DE я его вызвать не смог пока-что
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
Все это не нужно. Смотри как использовать SQL-запроси (и INSERT-ы!), это сейчас модно надолго (ужасная конструкцяи, я та к не считаю)

() тубу все уже говорят - кад ТЕБЕ НЕ НУЖЕН
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
ssa

Сообщений: 12999
Откуда: Москва
Дата регистрации: 23.03.2005
of63
Все это не нужно. Смотри как использовать SQL-запроси (и INSERT-ы!), это сейчас модно надолго (ужасная конструкцяи, я та к не считаю)
() тубу все уже говорят - кад ТЕБЕ НЕ НУЖЕН
И как ты это определил? И кто эти ВСЕ?

------------------
Лень - это неосознанная мудрость.
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
AndyNigmatec

Сообщений: 1550
Откуда: Волгоград
Дата регистрации: 28.06.2015
Не видя кода не могу точно сказать, но есть предположение что при создании в лоад CAD вы его присваиваете локальной переменной, соотв. в init он уже того ... ёх

В форме гораздо удобнее использовать ее свойства - они то видны в любом методе формы (и даже извне если немного поприседать)))
т.е. ваше:
lnConnect = SQLSTRINGCONNECT("Driver=Firebird/InterBase(r) driver;Dbname=D:\WORK\testFB\test.FDB;CHARSET=NONE;PWD=admin;UID=SYSDBA;")
loCAD = CREATEOBJECT('CursorAdapter')
добавляем к форме свой-во и используем его:
thisform.AddProperty('nConnect')
thisform.AddProperty('oCAD')
thisform.nConnect = SQLSTRINGCONNECT("Driver=Firebird/InterBase(r) driver;Dbname=D:\WORK\testFB\test.FDB;CHARSET=NONE;PWD=admin;UID=SYSDBA;")
thisform.oCAD = CREATEOBJECT('CursorAdapter')


И еще мне например непонятно зачем кад запихивать в DE, собсно зачем она энта DE вообще нужна, как по мне - то открыл/запросил все нужно в load, по destroy закрыл. Ну еще в форме пользовать private DS - что открыто в этой форме - видно только в ней, удобно.



Исправлено 2 раз(а). Последнее : AndyNigmatec, 20.03.23 09:58
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
AndyNigmatec

Сообщений: 1550
Откуда: Волгоград
Дата регистрации: 28.06.2015
И еще по поводу вашего:
lnConnect = SQLSTRINGCONNECT("Driver=Firebird/InterBase(r) driver;Dbname=D:\WORK\testFB\test.FDB;CHARSET=NONE;PWD=admin;UID=SYSDBA;")

1. Удобно создать свой глобальный класс-обертку который хранит (ну или читает - это вам на месте видней) настройки подключения, по мере надобности, например в лоад формы создали экземпляр этого класса, подключились-поработали. При таком подходе настройки подключения у вас будут в одном месте, легко поменять. Пример такого класса я вам скидывал, не шедевр - но просто и понятно.

2. У вас в строке соединения не указан DIALECT, для FB это важно, по умолчанию обычно это DIALECT=3

3. понимаю что сейчас у вас в стадии изучения-тестирования, но на потом - сделайте в базе дополнительного пользователя и давайте ему нужные права (в IBExpert это пара кликов), ибо негоже проге подключаться к базе с админскими правами



Исправлено 1 раз(а). Последнее : AndyNigmatec, 20.03.23 10:33
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
DmitryKn
Автор

Сообщений: 300
Дата регистрации: 06.04.2022
AndyNigmatec
Не видя кода не могу точно сказать, но есть предположение что при создании в лоад CAD вы его присваиваете локальной переменной, соотв. в init он уже того ... ёх
...
Да, мне уже уважаемые ssa и akvvohinc напинали выше, это я разобрался, все работает.

Цитата:
И еще мне например непонятно зачем кад запихивать в DE, собсно зачем она энта DE вообще нужна, как по мне - то открыл/запросил все нужно в load, по destroy закрыл. Ну еще в форме пользовать private DS - что открыто в этой форме - видно только в ней, удобно.

Разбирался с КАД, хотел понять все основные способы вызова КАД, один из них через ДЕ. Сразу задал в построителе, и он потом открылся-закрылся, все сам и помнить о нем не особо нужно, так мне казалось.
Шутенко вот считает ДЕ очень хорошим инструментом, только не до конца понятым.

Вам спасибо за примеры и за оболочку, я разбираю потихоньку. По ФБ буду просить много о помощи, но , наверное, в другом топике, тут про КАД, я и так влез в чужой, но посчитал, раз тема одна, то может и можно.
ТС с Native разобрал, я хотел с ODBC, может не обидится.



Исправлено 2 раз(а). Последнее : DmitryKn, 20.03.23 11:59
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
of63

Сообщений: 25161
Откуда: Н.Новгород
Дата регистрации: 13.02.2008
ssa
of63
Все это не нужно. Смотри как использовать SQL-запроси (и INSERT-ы!), это сейчас модно надолго (ужасная конструкцяи, я та к не считаю)
() тубу все уже говорят - кад ТЕБЕ НЕ НУЖЕН
И как ты это определил? И кто эти ВСЕ?

ВСЕ это все, каждый "должен" пройти свой путь...
Ratings: 0 negative/0 positive
Re: Помогите с CursorAdapter
sphinx

Сообщений: 31166
Откуда: Каменск-Уральски
Дата регистрации: 22.11.2006
Это не ответ. Это философия. А здесь техническая поддержка коллегам и новичкам.


------------------
"Veni, vidi, vici!"(с)
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 11 (Гостей: 11)

© 2000-2024 Fox Club 
Яндекс.Метрика