Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
2 / 2 / 1
Регистрация: 31.01.2012
Сообщений: 321
1

Классы и запросы

11.10.2016, 11:21. Показов 1361. Ответов 26
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый день. У меня есть вопрос относительно классов. Можно пример написания класса, выполняющего функцию запроса из БД на форму. Разбирался с классами в общих чертах. Объекты и методы так же знакомы. Но я не могу разобраться с запросами. И в интернете примеров як сожалению не нашел.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.10.2016, 11:21
Ответы с готовыми решениями:

константы, запросы и классы
В процедурном я подключал файлик, где содержались все необходимые константы. Если имена таблиц и...

SQL-запросы в большом проекте: есть ли смысл разбивать программу на отдельные классы
Добрый день! В данный момент занимаюсь приведением в порядок большого проекта на C#, который до...

Нужно доделать базу. Групповые запросы и запросы на изменение данных
Есть база, нужно доделать кое что Групповые запросы: 1) С использование функции count 2) С...

Перевести запросы SQL в запросы средствами реляционной алгебры
Ребята помогите, пожалуйста, перевести запросы SQL в язык реляционной алгебры. Курсак с утра...

26
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
12.10.2016, 11:40 21
Author24 — интернет-сервис помощи студентам
Владислав-2012, вам написали:
Цитата Сообщение от qwertehok Посмотреть сообщение
не нужен датамодуль, не нужны connection, query, table, dbgrid и прочее, прочее
Только понадобятся: connection, query, просто они должны создаваться динамически внутри класса TDatabase.
Логика тут в том, что у вас есть модуль/юнит - который выполняет все операции с БД - вставка SQL, чтение SQL в массив и так далее - а вам надо просто создавать класс из этого модуля, настраивать его свойства и делать с ним то, что вы хотите.
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
12.10.2016, 11:41 22
Цитата Сообщение от Владислав-2012 Посмотреть сообщение
Возможно будет лучше, когда я сделаю болванку программу, работающую без классов, и вы поможете разобраться как встроить классы для запросов?
а может все таки вы откроете книжку и попробуете сами СРАЗУ делать хорошо?
0
2 / 2 / 1
Регистрация: 31.01.2012
Сообщений: 321
12.10.2016, 11:46  [ТС] 23
Я же говорю, если создать класс например стол, и присвоить ему свойства, и так далее. Это я понимаю. могу реализовать. И примеров достаточно в интернете. А вот с запросами и связь с БД. Это я не могу понять, по этому я и обратился за помощью.
0
97 / 97 / 25
Регистрация: 25.04.2016
Сообщений: 525
12.10.2016, 11:48 24
Цитата Сообщение от Владислав-2012 Посмотреть сообщение
Я же говорю, если создать класс например стол, и присвоить ему свойства, и так далее. Это я понимаю. могу реализовать. И примеров достаточно в интернете. А вот с запросами и связь с БД. Это я не могу понять, по этому я и обратился за помощью.
У вас есть класс.
Он состоит из методов, свойств, функций, процедур.
Вот в процедурах/функциях - создавайте ваше подключение к БД, используя реквизиты класса.
В чем сложности?

Мне начинает казаться, что вы не до конца понимаете что такое класс, и что он дает.
0
5786 / 4528 / 1431
Регистрация: 14.04.2014
Сообщений: 20,157
Записей в блоге: 20
12.10.2016, 11:50 25
народ, хватит уже
Цитата Сообщение от qwertehok Посмотреть сообщение
не нужен датамодуль, не нужны connection
...и на каждый запрос будем подключаться и отключаться от БД.


изначально ТС некорректный вопрос задал. тут и так все вокруг классы и объекты. посмотрите на обилие точек

в делфи есть два подхода к разработке при работе с данными
1) dbXXX-компоненты.
Всякие DBGrid и DBEdit подключаются к датасетам TTable и TQuery
Все что вводится в интерфейсе, сразу идет в БД.
Плохо то, что в ADO это реализовано коряво. TTable вообще не должно использоваться в приличных программах.
А TQuery работает только в одну сторону, для записи нужен отдельный TQuery.
Поэтому вариант - создать отдельную форму, заполнить ее данными и ShowModal
если форма была закрыта по OK, считать с нее данные, сформировать SQL insert или update и выполнить
При этом подходе все данные программы раскиданы по датасетам и никаких классов кроме классов интерфейса (форм) не предусмотрено
Зато быстро. Зато с ростом программы проблемы растут гораздо быстрее...
2) Схема "модель - интерфейс - взаимодействие с БД"
несколько отличается от модной MVC (Model-View-Controller) в связи с хорошей реализацией визуального проектирования в делфи
Эту схему я в двух словах описал в посте 3
Тут все данные упорядочены в памяти в единую модель ланных.
Но тут все виды ввода/вывода данных в формы, гриды, едиты и т.п. берет на себя программист
Зато система может хорошо расти и изменяться, т.к. ее компоненты во многом независимы друг от друга.


есть альтернативные методы построения архитектуры, которые отстаивают коллеги.

В этом треде все уперлось в том, что нет конкретного вопроса. А ответы "вообще" вполне могут потянуть на нормальную статью
0
5395 / 4323 / 1060
Регистрация: 29.08.2013
Сообщений: 27,130
Записей в блоге: 3
12.10.2016, 11:52 26
Цитата Сообщение от Владислав-2012 Посмотреть сообщение
А вот с запросами и связь с БД
тут так же как и со столом

есть
ПОДКЛЮЧЕНИЕ
у него есть логин\пароль\сервер\база
и свои процедуры\функции
например
подключить\отключить\выполнить запрос

в функцию "выполнить запрос" вы передаете сам запрос
внутри создаете Connection, Query и, используя данные класса, выполняете его

затем все освобождаете

Добавлено через 1 минуту
Цитата Сообщение от krapotkin Посмотреть сообщение
..и на каждый запрос будем подключаться и отключаться от БД.
конечно, а зачем нам подключаться к БД и висеть?
0
MyEternity
12.10.2016, 11:53     Классы и запросы
  #27

Не по теме:

Цитата Сообщение от krapotkin Посмотреть сообщение
...и на каждый запрос будем подключаться и отключаться от БД.
Зависит от грамотности реализации.
Можно создать Connection для класса.
А можно поднимать при sql_select и так далее.

Неважно, речь не об этом.

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
12.10.2016, 11:53

Как в Access объединить запросы в один или вывести эти запросы в одном отчете и рассчитать по ним коэффициент?
Добрый день! Помогите разобраться. Есть у меня 5 запросов access, которые через долгие...

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

Непонятна тема (Классы содержащие другие классы, как данные члены )
Изучаю книгу Джесс Либерти(в частности эту главу в данный момент) #include <iostream> class...

Работа с файловой системой: классы Directory и Filе и классы DirectoryInfo и FileInfo
Уважаемые форумчане помогите пожалуйста с практической работой. Программным путем: В папке...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
27
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru