Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как работать с БД не используя VCL? [D7, dBase, FoxPro]


Страницы:   1 2

B@BY ©   (2005-10-11 14:20:00) 

Не обходимо работать с БД(mdb, dfb и IB) без использования VCL, так как у меня нет формы вообще. Как это сделать?
Делаю так:

uses ADODB,...

function Work(sql:string):integer;
var
 db1:TADOQuery;
begin
//sql:='select id from spiski ORDER BY ID DESC';
db1.Active:=False;
db1.ConnectionString:='Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;Data Source=D:\Baze.mdb';
db1.SQL.Text:=sql;
db1.Active:=True;
Results:=db1.RecordCount;
end;

После вызова этой функции выдается ошибка: "Access violation..." и останавливается на строчке Results:=.


Dioman   (2005-10-11 21:34:00) [1]

Удалено модератором
Примечание: Предлагаешь быть повежливее, начни с себя


Игорь Шевченко   (2005-10-11 18:20:00) [2]

Sergey_Masloff   (11.10.05 15:03) [12]


> Все что наследуется от TObject является полноценным членом
> VCL.


Не обязательно. Еще может являться полноценным членом RTL :)


msguns   (2005-10-11 17:50:00) [3]

А решение-то вот оно ! Открываем папочку C:\Program Files\Borland\DelphiXX\Source,
тупо смотрим ее содержимое и, обнаружив "скрыньку" с именем Vcl, заглядывает туды.. И что же мы видим.. Много всяких интересных файликов.. со смешными именами. Среди которых и ADODB, и DB, и IBXXX, и много еще чаво..

Т.е. по логике Борланда, компоновавшего свои библиотеки, классы доступа к БД относятся к Vcl ;)

Других причин "прописать" TADOQuery к той либо иной библиотекевроде не видно. Если, конечно, проигнорировать способность работы компиллятора Паскаль с объектами и классами вне зависимости от того, где находятся их коды-источники.


app   (2005-10-11 17:33:00) [4]

Не ругайтейсь, смысла нет и не тот повод.


Fay   (2005-10-11 17:07:00) [5]

2 Desdechado ©   (11.10.05 15:59) [25]

>> родилось задолго до VCL
Нельзя ли узнать когда/насколько_задолго ?


Desdechado   (2005-10-11 15:59:00) [6]

> Вы упорствуете в ереси
С религиозными фанатиками смысла спорить не вижу. Очевидные вещи их не убеждают, а только доказывают непознаваемость мира Борланд. Если указанные мне имена пророков призваны доказать, что мои изделия ООП - часть VCL, то эффект достигнут обратный. Пророки просто эксплуатируют модное слово.
Для аналогии: приложение (application) и прикладная программа (application program) - разные вещи. Вот только границы размылись, и большинство употребляет первый термин в смысле второго, а второй забыли.
Рекомендую вернуться к истокам. И к пониманию, что TMyObject=class эквивалентно TMyObject=class(TObject). Что, по сути, родилось задолго до VCL и не отождествлялось с ним НИКОГДА.
За сим прощаюсь.


Sergey_Masloff   (2005-10-11 15:42:00) [7]

А вообще мне по фиг, считайте как хотите.


Sergey_Masloff   (2005-10-11 15:37:00) [8]

Dioman ©   (11.10.05 15:27) [21]
Читаем Sergey_Masloff   (11.10.05 15:36) [22] ,
проникаемся и больше не позоримся ;-)


Sergey_Masloff   (2005-10-11 15:36:00) [9]

Desdechado ©   (11.10.05 15:06) [14]
>> Все что наследуется от TObject является полноценным членом VCL
>Надо же, не знал, что мой класс TMyClass=class(TObject) является членом >VCL.
Вы упорствуете в ереси. Ладно, самому прочитать документацию было недосуг или проблемы с английским или еще что. Но зачем упорствовать когда Вас поправили?
 Почему TurboPower, Raise, Polaris, те же DevRace понимают что наследясь от TObject они расширяют (создают ПОДмножество) VCL и так и позиционируют свои (часто никакого отношения к визуальности) компоненты и классы позиционируют, а вы вдруг решили что ваш TMyClass=class(TObject) вдруг не VCL?
 Не ведите себя как ребенок, ну правда же смешно. Откройте Developer's Guide и прочтите главу 3 (благо она 4 странички всего). Откроете много нового ;-)


Dioman   (2005-10-11 15:27:00) [10]


> Все что наследуется от TObject является полноценным членом
> VCL


чушь.

ВЦЛ все то что нарисовал борланд и назвал это частью ВЦЛ.

Ничего более конкретного тут не придумаешь


Os   (2005-10-11 15:19:00) [11]

db1:= TADOQuery.Create(nil)
Правда сам через nil никогда не пробывал.


Desdechado   (2005-10-11 15:17:00) [12]

обрати внимание на Rule ©   (11.10.05 14:32) [2]
результат пишется в Result, а не Results


B@BY   (2005-10-11 15:17:00) [13]

Спасибо всем за советы.

Но чего то я ни чего не понимаю...(так как все равно ни чего не реботает). Придется вечером книгу читать...(как правильно создать экземпляр db1... :(( ).


Desdechado   (2005-10-11 15:12:00) [14]

сейчас-то какая ошибка?
текст обновленной функции в студию


B@BY   (2005-10-11 15:09:00) [15]

Попробовал db1.Create(nil);и db1.Create(Application);все равно выдается ошибка в последней строке, где присваивается значение функции Results:=db1.RecordCount;


Sergey_Masloff   (2005-10-11 15:07:00) [16]

Desdechado ©   (11.10.05 15:03) [13]
Господи, вы в документацию заглянете или нет?
Не воспринимайте за наезд но вы в данном конкретном случае неправы.


Desdechado   (2005-10-11 15:06:00) [17]

> Все что наследуется от TObject является полноценным членом VCL
Надо же, не знал, что мой класс TMyClass=class(TObject) является членом VCL. Бабушке своей расскажете, как Борланд простым наследованием от TObject включает в свой VCL чужие компоненты и не платит за это денег.


Desdechado   (2005-10-11 15:03:00) [18]

вот только тогда потянется Forms и прочее, что уже является VCL


Sergey_Masloff   (2005-10-11 15:03:00) [19]

Desdechado ©   (11.10.05 14:59) [9]
Бабушке своей расскажете. А пока загляните в справку и убедитесь что хотя VCL действительно переводится как библиотека визуальных компонентов, невизуальные компоненты входят в нее точно также. Таким образом, у меня понятие VCL ассоциируется ровно с тем чем она является и чем ее считает сам производитель. Все что наследуется от TObject является полноценным членом VCL.


Desdechado   (2005-10-11 15:02:00) [20]

можно, кстати, и Application указать


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо