.NET で MySQL を使ってみた

.NET で MySQL を使いたくなったので少し調べてみたら、便利なものを発見。

Sun が提供する、MySQL 用の ADO.NET ドライバです。面白そうなので早速使ってみました。

public static Item Find(int id)
{
    using (MySqlConnection connection = new MySqlConnection(CONNECTION_STRING))
    {
        connection.Open();
        using (MySqlCommand command = connection.CreateCommand())
        {
            command.CommandText = "SELECT * FROM items WHERE id = ?id;";

            MySqlParameter parameter = command.CreateParameter();
            parameter.ParameterName = "?id";
            parameter.DbType = DbType.UInt32;
            parameter.Value = id;
            command.Parameters.Add(parameter);

            MySqlDataReader reader = command.ExecuteReader();
            if (reader.Read())
            {
                Item item = new Item();
                item.Id = (uint)reader["id"];
                item.Title = (string)reader["title"];
                item.Description = (string)reader["description"];
                return item;
            }
            else
            {
                return null;
            }
        }
    }
}

ADO.NET のインタフェースを実装しているので、System.Data.SqlClient 名前空間内のクラスを使ったときと同じような書き方ができますね。