ホーム > カテゴリ > Delphi・Lazarus >

LazarusでMySQLにアクセスする

LazarusでMySQL8.0(2018年4月版)にODBC経由でSQLを投げてみました。Lazarusの最新版は1.8.2で2018年2月版です。ですので、ネイティブはMySQL5.7までの対応となっています。

ネイティブの方が確実に高速ですが、とりあえずODBCでの接続テストです。

事前準備

MySQLのインストール、ODBC設定などはMySQLのインストールからコマンド操作(ユーザ/データベース/テーブルの作成)やODBC設定をご覧下さい。

実行前

実行後

ソース

実行ボタンを押したらMySQLからデータを取得して、メモに表示します。

unit Unit1;

{$mode objfpc}{$H+}

interface

uses
  Classes, SysUtils, sqldb, odbcconn, FileUtil, Forms,
  Controls, Graphics, Dialogs, StdCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    Button1: TButton;
    Memo1: TMemo;
    procedure Button1Click(Sender: TObject);
  private

  public

  end;

var
  Form1: TForm1;

implementation

{$R *.lfm}

{ TForm1 }

// 元のコード
// http://wiki.freepascal.org/ODBCConn#DSN_example
procedure TForm1.Button1Click(Sender: TObject);
var
  S: String;
  conn : TODBCConnection;
  query: TSQLQuery;
  transaction: TSQLTransaction;
begin
  conn := TODBCCOnnection.Create(nil);
  query := TSQLQuery.Create(nil);
  transaction := TSQLTransaction.Create(nil);

  try
    try

      // データ ソース(ODBC)に登録したData Source Name(DSN)を指定する
      conn.DatabaseName := 'odbc_test';
      // データ ソース(ODBC)側で設定済みならば入力不要です。
      // conn.UserName:= 'test';
      // conn.Password:= '1234567890';

      // SQLはSELECTのみなのに何故かトランザクションが必要らしいです。
      conn.Transaction := transaction;
      query.DataBase := conn;

      query.SQL.Text := 'select no,title from mst_dummy';
      query.Open;
      S := '';
      while not query.EOF do
      begin
        S := S + query.FieldByName('title').AsString + #13#10;
        query.Next;
      end;
    finally
      query.Free;
      transaction.Free;
      conn.Free;
    end;
  except
    on E: Exception do
      ShowMessage(E.message);
  end;
  Memo1.Text:= S;
end;

end.

元コード http://wiki.freepascal.org/ODBCConn#DSN_example

参考サイト

ODBCConn
Portal:Databases





関連記事



公開日:2018年04月25日
記事NO:02638


この記事を書いた人

💻 ITスキル・経験
サーバー構築からWebアプリケーション開発。IoTをはじめとする電子工作、ロボット、人工知能やスマホ/OSアプリまで分野問わず経験。

画像処理/音声処理/アニメーション、3Dゲーム、会計ソフト、PDF作成/編集、逆アセンブラ、EXE/DLLファイルの書き換えなどのアプリを公開。詳しくは自己紹介へ
プチモンテ代表、アーティスト名:プチモンテ
🎵 音楽制作
BGMは楽器(音源)さえあれば、何でも制作可能。歌モノは主にロック、バラード、ポップスを制作。歌詞は叙情詩、叙情的な楽曲が多い。楽曲制作は2023年12月中旬 ~

オリジナル曲を始めました✨

YouTubeで各楽曲を公開しています🌈
https://www.youtube.com/@petitmonte

【男性ボーカル】DA・KA・RA | 新たな明日が風と共に訪れる

【男性、女性ボーカル】時空を超越する先に | 時空と風の交響曲

【女性、男性ボーカル】絆 | 穏やかな心に奏でる旋律