Вверх ↑
Этот топик читают: Гость
Ответов: 96
Рейтинг: 0
#1: 2006-10-28 07:43:12 ЛС | профиль | цитата
Вопрос к Dilma.
Развелось в Хиасме множество компанент для работы с БД. На MSSQL, я так понял, все уже забили, мало примеров использования, да и смысл его теряется с появлением SQLite, как более мощного конкурента.
На повестке дня вопрос о MySQL. Будет ли развиваться и поддерживаться subj, или уже пора переходить на доступ к оному через ODBC?
карма: 1

0
Ответов: 262
Рейтинг: 6
#2: 2006-10-28 14:15:50 ЛС | профиль | цитата
Alexeylp, а что тебя не устраивает в MySQL компонентах? Они работали, работают и будут работать
карма: 0

0
Ответов: 5446
Рейтинг: 323
#3: 2006-10-28 17:14:38 ЛС | профиль | цитата
Chesh, не знаю, что не устраивает Alexeylp, а меня не устраивает (в MySQL) невозможность вывода "наружу" точного кода и текста ошибки MySQL (mysql_errno() и mysql_error()). Для себя я сделал кое-как (только errno, текст пока не знаю как правильно выводить), а вот как быть тем, кто не может сам себе сделать?
карма: 1

0
Ответов: 96
Рейтинг: 0
#4: 2006-10-29 08:21:09 ЛС | профиль | цитата
Меня как раз всё очень даже устраивает, просто мой мозг разъедает пароноидальная догадка: если количество однотипных компонент растёт, то со временем разработчик(Dilma, для тех кто не понял ) начинает терять интерес к некоторым из них.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#5: 2006-10-29 10:11:29 ЛС | профиль | цитата
И чего
Было замечено, что он не фиксит в них баги, буде такие обнаружены
карма: 9

0
Ответов: 96
Рейтинг: 0
#6: 2006-10-29 11:23:13 ЛС | профиль | цитата
Galkov, а зачем ждать, когда это будет замечено? Я вот например MSSQL не использую, чего и другим желаю, ибо смерть его предрешена, имхо.
карма: 1

0
Ответов: 2125
Рейтинг: 159
#7: 2006-10-29 12:00:22 ЛС | профиль | цитата
Политика в области БД, на мой взгляд, в корне неправильная. Зачем делать массу однотипных компонент? Если, допустим, есть SQLQuery, то он должен быть один, а не на каждый тип баз данных. Ясно, что действия в каждом случае разные, но эти действия нужно перенести в компонент, который является базой данных. Например в случае с SQLite мы тянем связь к Handle базы данных, но эта связь должна возвращать не SQLite handle, а некий интерфейс, по аналогии с массивами и матрицами. У этого способа помимо очевидного преимущества - сокращение количества компонент, есть ещё и другое - чтобы перейти на другую базу данных достаточно заменить лишь один компонент (большинство всё равно использует только базовый синтакс SQL). Кроме того, можно иметь возможность выбирать соединение с базой (различных типов) в разрабатываемой программе.
карма: 1

0
Ответов: 262
Рейтинг: 6
#8: 2006-10-29 15:41:55 ЛС | профиль | цитата
iarspider, да, с ошибками ситуация не очень... 2 да 3. Если есть наработки по поводу ошибок поделись плиз.
tsdima, мысль то конечно недурна осталось только написать этот "мега" dbSQL и уговорить Dilma. Я уже с пол года уговариваю чуть доработать TArray... А вообще я за. По крайне мере с MySql и SQLite можно поучавствовать. Про MS не скажу не общался.
Можно обойтись и без интерфейса. Там то делов, к разным dll кам обратиться.
карма: 0

0
Ответов: 2125
Рейтинг: 159
#9: 2006-10-29 17:41:54 ЛС | профиль | цитата
Прежде чем уговаривать Dilma хотелось бы обсудить концепцию интерфейса. Не всякий набор функций подойдёт для любой базы данных. Один из таких наборов - ODBC, но он уже устарел. Есть ещё ADO (или более низкого уровня - OLEDB), но там в основе COM-технология и в HiAsm она не очень-то вписывается. Например, если под тем самым Handle подразумевать ADODB.Connection - попробуй написать все объекты ADO (Connection,Recordset,Field,Command,Parameter и др.) для SQLite.
карма: 1

0
Ответов: 9906
Рейтинг: 351
#10: 2006-10-29 17:46:26 ЛС | профиль | цитата
Прежде чем уговаривать Dilma хотелось бы обсудить ...

Абсолютно справедливо.
Причем, вопрос касается не только баз, а "объектов" вообще. И массивов в том числе
карма: 9

0
Ответов: 262
Рейтинг: 6
#11: 2006-10-29 17:56:11 ЛС | профиль | цитата
tsdima, А если попроще, скажем, как TArray по пути интерфейсов - то примерно вот что получиться:

type
TXSql=record
_Open:TOpenSql;
_Close:TCloseSql;
_Query:TQuerySql;
..... думаем... :)
end;
TSQL = class
private
db: TXSql;
......
end;

TMySql = class(TSql)
....
end;

TSQLite = class(TSql)
....
end;
В итоге получим примерно то, что хотели. Но переписать прийдется все компоненты связанные с SQL.
карма: 0

0
Ответов: 2125
Рейтинг: 159
#12: 2006-10-29 17:57:20 ЛС | профиль | цитата
как TArray по пути интерфейсов ...
... не надо

З.Ы. У меня, можно сказать, Хиасм-юбилей. Год назад (27.10.05) оставил тут (вернее там где тогда было) первый свой пост. Помню, тогда тоже была оживлённая дискуссия по поводу объектов.
карма: 1

0
Ответов: 262
Рейтинг: 6
#13: 2006-10-29 18:02:01 ЛС | профиль | цитата
tsdima, предлагайте...
карма: 0

0
Ответов: 2125
Рейтинг: 159
#14: 2006-10-29 18:18:56 ЛС | профиль | цитата
..... думаем...

карма: 1

0
Ответов: 9906
Рейтинг: 351
#15: 2006-10-30 18:41:35 ЛС | профиль | цитата
..... ждем...

карма: 9

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)