Тема: MySQL Server
Показать сообщение отдельно
  #7  
Старый 06.10.2010, 14:34
Asinkrit Asinkrit вне форума
Местный
 
Регистрация: 29.10.2009
Сообщения: 446
Репутация: 271
По умолчанию

Для семерки могу посоветовать из бесплатных только вот этот набор компонентов. С остальными у меня были проблемы.

Ну и механизм работы с ними следующий, объявление:
Код:
  ...
  private
    FSQLClient:TMysqlClient;
    FSQLResult:TMysqlResult;
  ...
, подключение в БД:
Код:
function TDM.ConnectToDB(const aLg, aPs: String): boolean;
begin
  FSQLClient.connect(Options.Host,aLg,aPs,Options.DataBaseName,Options.Port);
  if (Length(FSQLClient.LastError) <> 0) then
    Log(llCritical,FSQLClient.LastError);
  Result:=FSQLClient.Connected;
end;
, получение данных:
Код:
function TDM.GetGenres(const aGenres: TGenres): boolean;
begin
  FSQLResult:=FSQLClient.query('select genre_id, genre_name from cnm_shows_genres', true, result);
  if Result then
    begin
    FSQLResult.First;
    with FSQLResult do
      while not Eof do
        begin
        aGenres.Add(StrToInt(FieldValueByName('genre_id')),String(FieldValueByName('genre_name')));
        Next;
        end;
    FSQLResult.destroy;
    end
      else Log(llCritical,FSQLClient.LastError);
end;
Это вырезки из рабочего проекта, единственный недостаток этих компонентов, к ним нельзя привзяать DataSource, а значит и использовать компоненты для работы с бд.
В свое время так же искал компненты для подключения к MySQL, и потратил немало сил, к сожалению это единственный бесплатный рабочий вариант, который смог найти, работает вполне исправно.
Цитата:
Сообщение от lmikle
Еще д.б. драйвер для DBExpress (он, кажется, бесплатный).
Бесплатный драйвер есть, но он не работает, а тот что работает - платный. (тоже мучался, хотел через DBExpress, но там куча проблем, и конечная сводится именно к драйверу, которого в природе нет, точнее есть, для старых версий MySQL, а вот для новых только платный.
Ответить с цитированием