Сейчас на форуме: hgdagon, asfa, bartolomeo (+6 невидимых) |
eXeL@B —› Программирование —› базы данных |
. 1 . 2 . >> |
Посл.ответ | Сообщение |
|
Создано: 17 октября 2006 04:10 · Личное сообщение · #1 |
|
Создано: 17 октября 2006 05:55 · Личное сообщение · #2 |
|
Создано: 17 октября 2006 07:08 · Личное сообщение · #3 |
|
Создано: 17 октября 2006 07:27 · Поправил: Maximus · Личное сообщение · #4 |
|
Создано: 17 октября 2006 07:32 · Личное сообщение · #5 |
|
Создано: 17 октября 2006 11:03 · Личное сообщение · #6 Короче с этим я разобрался. Надо использовать ADO, а не BDE. Вопрос другой: В Access создал таблицу и создал столбец с типом "дата"(Указал тип "короткая дата") и в Access'е пишется 19:11. Подслючаюсь на Delphi к базе, выполняю запрос 'select for sun(имя таблицы)' и в столбце с датой появляется такое "30.12.1899 19:11:00". Как сделать, чтобы писалось "19:11"? |
|
Создано: 17 октября 2006 11:28 · Поправил: Maximus · Личное сообщение · #7 |
|
Создано: 17 октября 2006 11:59 · Личное сообщение · #8 |
|
Создано: 17 октября 2006 13:27 · Личное сообщение · #9 sniperZ, юзай ADO как тебе сказали и драйвер MS JET !!! (он будет в настройках ConnectionString), либо пользуй BDE, но перед этим в панели управления в ODBC настрой новую БД и юзай SQLQuery. У меня другой вопрос: как получить доступ к базе через компоненты, если у нас не EXE, а DLL или Service??? В эесефайле всё работает, а то же самое в ДЛЛ или в сервисе начинает лететь в глубинах Кернела =( ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 17 октября 2006 22:31 · Личное сообщение · #10 AlexZ пишет: У меня другой вопрос: как получить доступ к базе через компоненты, если у нас не EXE, а DLL или Service??? В эесефайле всё работает, а то же самое в ДЛЛ или в сервисе начинает лететь в глубинах Кернела =( Цитата из DelphiWorld: В оконных приложениях инициализацию COM берет на себя строка в файле проекта: Application.Initialize; А вот в DLL и консольных программах обэекта Application нет, и при попытке работать с любыми ActiveX, включая широко используемые ADO компоненты генерится ошибка, которую исправить очень просто: достаточно в секцию Uses в DPR файле добавить модуль oleauto sniperZ пишет: А по конкретнее? Вот. http://www.delphiworld.narod.ru/base/ado_quick_access.html Там же еще куча материала. ----- Сколько ни наталкивали на мысль – все равно сумел увернуться |
|
Создано: 17 октября 2006 23:01 · Личное сообщение · #11 |
|
Создано: 18 октября 2006 06:20 · Личное сообщение · #12 ValdiS, что-то не работает с моим сервисом oleauto =( У меня другой вопрос: Что придумать, если delphi DBE на машине не установлены и инсталить нельзя (не куплена эта BDE пратская), а ADO, BDE и иже с ними не работают без BDE. Что можно почитать по базам (негиморные и быстрые общения с БД) ? Надо запросы обрабатывать и отсылать ответы. ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 18 октября 2006 06:37 · Личное сообщение · #13 |
|
Создано: 18 октября 2006 23:51 · Личное сообщение · #14 |
|
Создано: 19 октября 2006 04:33 · Личное сообщение · #15 Satanael пишет: Например, для работы с InterBase минуя BDE можно компонент использовать FibPlus. Может для АDO есть аналогичные компоненты, поищи в Инете. sniperZ пишет: Вопрос другой: В Access создал таблицу и создал столбец с типом "дата"(Указал тип "короткая дата") и в Access'е пишется 19:11. Подслючаюсь на Delphi к базе, выполняю запрос 'select for sun(имя таблицы)' и в столбце с датой появляется такое "30.12.1899 19:11:00". Как сделать, чтобы писалось "19:11"? Вот что я хочу узнать? |
|
Создано: 19 октября 2006 11:06 · Поправил: AlexZ · Личное сообщение · #16 sniperZ пишет: Вот что я хочу узнать? Странный вопрос Есть такой тип поля TIMESTAMP. Чтобы в него занести дату, надо выполнить SQL запрос, представив значение даты в виде числа с точкой (double). Остальное - дело функций работы с типами данных, функций работы с датами и функций представления данных. ----- Я медленно снимаю с неё UPX... *FF_User* |
|
Создано: 19 октября 2006 11:11 · Личное сообщение · #17 |
|
Создано: 22 октября 2006 13:12 · Поправил: Satanael · Личное сообщение · #18 |
|
Создано: 24 октября 2006 00:17 · Личное сообщение · #19 theCollision Просто BDE - решение времен середины 90-х годов и оставлено в составе дельфей только для совместимости. Для своего времени это было очень даже ничего. Кстати, ADO нормально заработало только после того, как МелкоСофт перекупил из Борланда главного конструктора дельфей г-на Хейдльсберга (ныне - главный конструктор C#), а тот перетащил за собой группу основных разработчиков (команда DAX), в том числе и тех, кто занимался базами данных. |
|
Создано: 04 ноября 2006 02:19 · Личное сообщение · #20 |
|
Создано: 04 ноября 2006 02:55 · Личное сообщение · #21 AlexZ пишет: У меня другой вопрос: Что придумать, если delphi DBE на машине не установлены и инсталить нельзя (не куплена эта BDE пратская), а ADO, BDE и иже с ними не работают без BDE. Что можно почитать по базам (негиморные и быстрые общения с БД) ? Надо запросы обрабатывать и отсылать ответы. адо и бде никак не связаны, кроме того что из воторого можно достучаться до первого. первый - борланд, второй - микрософт. для работы с адо рекомендуется поставить последний мдак от мс. по базам - смотря чего хочешб добиться. если просто работать из дельфи - того же Кэнту, или Бобровского с Архангельским. Если проектировать, там сложнее. Литературы море, задавай более конкретные вопросы. |
|
Создано: 04 ноября 2006 03:08 · Личное сообщение · #22 |
|
Создано: 04 ноября 2006 03:55 · Личное сообщение · #23 |
|
Создано: 04 ноября 2006 04:04 · Личное сообщение · #24 sniperZ пишет: Надо упорядочить записи в которых записан день (Пн, Вт, Ср, Чт, Пт, Сб). В поле могут быть только эти значения. упс! доперло - текстом записаны? тогда варианты: - переделываем базу: выносим названия дней и целый индекс (0-Пн, 6-Вс) в отдельную таблицу; делаем alter и update старой таблицы, заменяя текстовые данные индексом дня. потом по нему сортируем как хотим. - делаем вычислимое поле на селекте (на select ... case ... ) в виде целого числа; и опять по нему сортируем - на грани бреда, но просто: делаем 7 селектов которые объединяем в union ;) |
|
Создано: 04 ноября 2006 05:47 · Личное сообщение · #25 n1kto пишет: переделываем базу Не подходит. n1kto пишет: - переделываем базу: выносим названия дней и целый индекс (0-Пн, 6-Вс) в отдельную таблицу; делаем alter и update старой таблицы, заменяя текстовые данные индексом дня. потом по нему сортируем как хотим. Нихрена не понимаю... Поподробнее расскажи как это сделать. Можешь и про 3-ий пункт рассказать. infern0 пишет: убить об стену автора такого представления данных в базе Ну давай, сделай мне больно... |
|
Создано: 04 ноября 2006 06:13 · Личное сообщение · #26 sniperZ пишет: Нихрена не понимаю... Поподробнее расскажи как это сделать. для mssql, остальное - по аналогии select *, case wday when 'Пн' then 1 when 'Вт' then 2 ... when 'Вс' then 7 end as wday_idx from yourtable order by wday_idx вариант 3 (полный бред, только от безнадеги): select * from yourtable where wday='Пн' union select * from yourtable where wday='Вт' union ... select * from yourtable where wday='Вс' |
|
Создано: 06 ноября 2006 10:47 · Поправил: sniperZ · Личное сообщение · #27 |
|
Создано: 06 ноября 2006 11:05 · Личное сообщение · #28 sniperZ пишет: Делаю так: select * from tbl where группа=12345 order by' case День when Пн then 1 when Вт then 2 when Ср then 3 when Чт then 4 when Пт then 5 when Сб then 6 end SQL ваще не хочет понимать. case должен быть внутри объявления полей select. ты таким образом создаешь вычисляемое поле, по которому потом сортируешь. |
|
Создано: 06 ноября 2006 11:06 · Личное сообщение · #29 |
|
Создано: 06 ноября 2006 11:22 · Личное сообщение · #30 |
. 1 . 2 . >> |
eXeL@B —› Программирование —› базы данных |