Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Базы данных
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 24.03.2011, 08:36
hendson hendson вне форума
Прохожий
 
Регистрация: 24.03.2011
Сообщения: 12
Репутация: 10
По умолчанию Excel+MySQL

Здравствуйте!!!ОЧЕНЬ НУЖНА ВАША ПОМОЩЬ!Есть база MySQL и проект на Delphy, необходимо реализовать такую задачу: Берем фамилии из Excel-евского файла, и смотрим, если эти фамилии есть в базе, записываем соответствующие данные, которые имеются по владельцу в новую таблицу
Ответить с цитированием
  #2  
Старый 24.03.2011, 09:28
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Копайте в сторону OLE объектов.
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #3  
Старый 24.03.2011, 09:55
hendson hendson вне форума
Прохожий
 
Регистрация: 24.03.2011
Сообщения: 12
Репутация: 10
По умолчанию

Цитата:
Сообщение от Black Raider
Копайте в сторону OLE объектов.
Спасибо.
Как глубоко копать???
Ответить с цитированием
  #4  
Старый 24.03.2011, 10:01
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

для реализации вашей проблемы не очень
Создать Оле объект
открыть екселевский файл
пробежаться по строчкам проверяя наличие их в Мускуле (банальный селект)
если запрос не вернул ничего то инсерт с данными.
закрыть ёксель.

вот в помощь:
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #5  
Старый 24.03.2011, 10:54
hendson hendson вне форума
Прохожий
 
Регистрация: 24.03.2011
Сообщения: 12
Репутация: 10
По умолчанию

Умоляю...расскажите поподробней..
Ответить с цитированием
  #6  
Старый 24.03.2011, 11:02
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

ссылку смотрел?

там практически все функции даны.
пример от туда же
Код:
var
vExcel, xlvariant: OLEVariant;
begin
vExcel := CreateOleObject('Excel.Application');
vExcel.Workbooks.Open('BigBook.xls', False);
vExcel.Visible := True;
end;
Открывает в Екселе файл BigBook.xls
работа с ячейкой - vExcel.Cells[1, 1].Value

например проверяем что в этой ячейке написано "Привет"
Код:
if vExcel.Cells[1, 1].Value="Привет" then ....

Куда ж еще подробнее то...
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #7  
Старый 24.03.2011, 12:12
hendson hendson вне форума
Прохожий
 
Регистрация: 24.03.2011
Сообщения: 12
Репутация: 10
По умолчанию

ссылку посмотрела...спасибо за помощь))
Ответить с цитированием
  #8  
Старый 24.03.2011, 12:18
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

Если ждет до вечера то вечером могу примерчик выложить у меня где то был такой импорт.
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
  #9  
Старый 24.03.2011, 12:24
hendson hendson вне форума
Прохожий
 
Регистрация: 24.03.2011
Сообщения: 12
Репутация: 10
По умолчанию

Огромное спасибо за помощь)))Буду ждать
Ответить с цитированием
  #10  
Старый 24.03.2011, 12:58
Black Raider Black Raider вне форума
Местный
 
Регистрация: 31.05.2010
Адрес: Москва
Сообщения: 466
Версия Delphi: 7
Репутация: 40
По умолчанию

где то примерно так (Немного обрезал но основное что нужно вам тут есть):
Код:
var 
    excel, workbook, sheet: variant; //OLE
    st,st1,st2,st3,st4,st5,st6,st7:string;
    i,y,idf:integer;
    lk:TTransactionDesc;
    dtt:TdateTime;
    isDealerNds,isRetailNDS,isRetailShopNDS:TNDS;
begin
  try
    excel := createoleobject('excel.application');//Создем объект OLE
    excel.workbooks.open(sedit1.text,false); //Открываем файл 
    workbook:=excel.workbooks.item[1]; //Выбираем книгу
    sheet := workbook.worksheets[1]; //Выбираем лист
    sheet.cells.specialcells(xlcelltypelastcell,emptyparam).activate;
    y := excel.activecell.row; //Получаем максимал. кол-во строк
    for i:=2 to y do
    begin
 //получаем данные из ячеек 
      st1:=trim(sheet.cells[i,1]);
      st2:=trim(sheet.cells[i,2]);
      st3:=trim(sheet.cells[i,3]);
      st4:=trim(sheet.cells[i,4]);
      st5:=trim(sheet.cells[i,5]);
      st6:=trim(sheet.cells[i,6]);
      try
       //Проверяем в запросе к Мускулу есть ли такая  фамилия
      //если нет то вставляем данные в новую таблицу
      except
      on e:Exception do
        begin
           //Если при вставке или запросе к БД вылез эксепшен
          // то обрабатываем тут
          showmessage(E.message);
        end;
      end;
    end;
   if not VarIsEmpty(Excel) then Excel.quit;// Выходим из Excel
except
  on e:Exception do
    begin
      if not VarIsEmpty(Excel) then excel.quit;
   end;
end;
__________________
Новый вирус - "БОМЖ"! Он просто роется в Корзине...и спит под ярлычком "Сетевое окружение"
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 11:37.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter