• 🔥 Бесплатный курс от Академии Кодебай: «Анализ защищенности веб-приложений»

    🛡 Научитесь находить и использовать уязвимости веб-приложений.
    🧠 Изучите SQLi, XSS, CSRF, IDOR и другие типовые атаки на практике.
    🧪 Погрузитесь в реальные лаборатории и взломайте свой первый сайт!
    🚀 Подходит новичкам — никаких сложных предварительных знаний не требуется.

    Доступ открыт прямо сейчас Записаться бесплатно

Excel через Odbc

  • Автор темы Автор темы gammaray
  • Дата начала Дата начала
G

gammaray

Собственно проблема такая. Надо с помощью команды Select получить данные из столбца файла Excel по букве этого столбца. Вообще суть в том, что пишу программу для составления прайса из нескольких прайсов. Нашел вот здесь аналогичную программу! Аналог
И вот какие нашел в ней особенности: когда открываешь прайс, то запускается соответствующий файл Excel, далее задаешь просто буквы столбцов и программа сама делает прайс. Причем выбирается информация по стобцам с того листа, который открыт в непосредственно в Excel. Т.е. программа как-то работает и с файлом Excel. Я же файл Excel открываю с помощью ShellExecute, а имя нужного листа приходится вводить в Edit в самой программе. Yу и + никак не могу найти, как выборку делать по буквам столбцов.
Может кто подскажет, как это делать?

Пишу через ODBC. Вот код, который открывает полностью весь лист Excel:
Код:
try
{
CDatabase db;

if(db.Open(NULL)
{
CRecordset cr(&db);
try
{
SQL_Select.Format(_T("SELECT * FROM [%s$]"), this->m_PriceListName);
cr.Open(CRecordset::forwardOnly, SQL_Select);
.................... 
....................
cr.Close();
}
catch(CDBException cdb)
{
AfxMessageBox(cdb.m_strStateNativeOrigin);
}
}
else AfxMessageBox(_T("Not Open"));
db.Close();
}
catch(CDBException* pe)
{
AfxMessageBox(pe->m_strError);
pe->Delete();
}


Еще дополнительно возник вопрос, каким образом получить список таблиц, которые созданы в Excel файле?
 
Неужели никто не в курсе? Сечас уже даже важнее вопрос про то, как получить таблицы, которые уже созданы в Excel файле... Первый вопрос я обошел другим путем. Просто пользователю надо принудительно подписывать каждый столбец и вводить его имя в программу...
 
О это долгая и нудная тема, неохота про нее ... я имел ввиду почему не адо (оледб)
Ну просто я первый раз пишу прогу, работающую с БД... И решил начать с ODBC, потому что сразу писать на OLEDB не решился... А есть хорошая ссылка почитать про OLEDB? Чтобы все было более менее попроще расписано с примерами.
 
Плохое решение :) надо было прежде спросить тут :blink:
Пример из ссылки выше - нормально показывает суть.
Да и OLEDB это просто апи для работы с базами, и реализованы в неком провайдер, который вы пользуете.
Начал читать вот тут
Так оказалось просто читать Excel таблицы через ADO, что пожалуй я прогу всю заново перепишу... Спасибо большое!!!
 
Мы в соцсетях:

Взломай свой первый сервер и прокачай скилл — Начни игру на HackerLab