![]() |
|
![]() ![]() ![]() |
|
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Здравствуйте!
Я новичок в Дельфи. Не подскажите как вывести из SQL в Excel данные? Желательно с использованием ADO. Спасибо. |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
а поискать слабо?
Поиск по ветке слова "Excel" Добавлено через 1 минуту и 51 секунду если что-то конкретное будет не получаться - спрашивай -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
С этого я и начала
![]() Ничего толкового(=понятное для меня) не нашла. После чего зарегистрировалась. |
|||
|
||||
SergeBS |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1111 Регистрация: 10.6.2005 Где: Владимир Репутация: 11 Всего: 22 |
Yantarik,
Идешь на delphi world, скачиваешь тамошний хелп и читаешь. Хоть что-то да поймешь, поскольку там куча разных способов. |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
итак пример (для девушки ничего не жалко) Допустим: у тебя есть ADOQuery1 в который по запросу SQL отобраны данные и кнопка Button1. По нажатию на кнопку пишем такой код
не забываем в uses добавить ComObj P.S. код работает супер быстро, что обеспечено за счет передачи данных через вариантный массив единственное что может заторомозить - это вывод контуров таблицы XLRange.Borders.LineStyle := xlContinuous; поэтому на больших объемах данных лучше не юзать (если конечно важна скорость) -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Пока написанный выше код не использовала.
Нашла другой. После исправления параметров на свои, мне программа выдает ошибку: "Произошли ошибки во время выполнения многошаговой операции OLE DB. По возможности проверьте значения всех состояний OLE DB" Как это можно проверить? И сразу вот такой еще вопрос № 2 Не очень понимаю вот это:
То есть я понимаю: из таблицы Телефоны выбрать столбцы "Телефон", "Имя", "Улицу", "Дом", "Корпус", "Квартира", а вот что такое дальше? Это сообщение отредактировал(а) Yantarik - 14.8.2007, 12:17 |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
insert - вставить новую запись
select - выбрать записи update - редактировать записи delete - удалить записи читаем основы SQL Добавлено через 57 секунд в каком месте? Добавлено через 5 минут и 33 секунды думаю тебе для начала пойдет это Короткий справочник по SQL P.S. ну очень короткий -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
На ADOConnectionForExcel.Open; "insert - вставить новую запись читаем основы SQL" Сорри, с селектом перепутала. Про вопрос №2: В очень кратком справочнике нет опсисаия термина(или что это?) "values". Интуитивно я понимаю, что ":pName" - это переменная. НО откуда она берётся и почему перед ней ":" ? |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
если тебе не нужен Insert, то не нужен и Values выложи лучше свой нерабочий SQL -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Как раз Insert нужен
![]()
С ошибкой мы разобрались. |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
И еще я не понимаю:
зачем создается еще одна таблица в базе, если мне надо, чтобы считывались данные и переносились(записывались) в Эксель? |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
Yantarik,
получи (+1) в репутацию за новый для меня способ экспорта в Excel пусть и сочиненный не тобой и не доконца тобой понятый ![]() в базе таблиц не создается это создается именно файл Excel -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
Так в том-то и дело, что у меня при переименовании таблицы создается новая таблица в базе. Возможно надо что-то "особенное" указать в Object Inspector для ADOCommandForExcel.CommandText и ADOCommandForExcel.Execute. Сейчас у меня там ссылка(не знаю, как это правильно называется) на базу. И еще один вопрос: Мне надо выгрузить всю таблицу. В селекте это *, а вот в инсерте это как описывается? Нужно ли в данном случае перечисление столбцов(их около 30-40 штук) или можно как-то похоже с селектом описать? |
|||
|
||||
pseud |
|
|||
![]() Экспёрт Тыдыщ ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1175 Регистрация: 18.5.2007 Где: Минск, Беларусь Репутация: 16 Всего: 40 |
вот она кучка проблем из твоего экспорта вылилась
можно конечно поковырять твой экспорт, но... а почему не хочешь мной описанный способ испробовать? 1. он универсален 2. не создает новых таблиц в базе 3. Не нужно перечисление столбцов -------------------- Испытание чужого терпения можно считать успешным, если оно лопнуло... |
|||
|
||||
Yantarik |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 53 Регистрация: 8.8.2007 Где: г.Москва Репутация: 1 Всего: 1 |
1. Потому что я его не понимаю совсем ![]() То есть мне нужно объяснять каждую строчку ,начиная с первых 4хзначных цифр: что это откуда берется? Я не знаю, кода прописывать свою базу и т.д. Мой вариант с другой базой у меня на компе работал. Но там было перечислимое множество столбцов. Здесь же я меняю под свою базу и все - создают новую таблицу в моей базе вместо того, чтобы вывыести в эксель. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Delphi: Базы данных и репортинг" | |
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами Обязательно указание: 1. Базы данных (Paradox, Oracle и т.п.) 2. Способа доступа (ADO, BDE и т.д.)
FAQ раздела лежит здесь! Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Vit, Петрович. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Базы данных и репортинг | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |