微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从C#在MySQL中存储GUID

试图将Guid’s保存在来自C#(.NET)的 MySQL数据库中. MySQL列的类型为BINARY(16).有关如何坚持guid以及后来从MysqL获取guid的任何消息?在这里寻找代码答案:-)

解决方法

弄清楚了.这是如何做 …

数据库架构

CREATE TABLE `test` (                                            
     `id` BINARY(16) NOT NULL,PRIMARY KEY  (`id`)                                            
)

string connectionString = string.Format("Server={0};Database={1};Uid={2};pwd={3}","server","database","user","password");

Guid orgId = Guid.NewGuid();
Guid fromDb = Guid.Empty;

using (MysqLConnection conn = new MysqLConnection(connectionString))
{
    conn.open();

    using (MysqLCommand cmd = new MysqLCommand("INSERT INTO test (id) VALUES (?id)",conn))
    {
        cmd.Parameters.Add("id",MysqLDbType.Binary).Value = orgId.ToByteArray();
        cmd.ExecuteNonQuery();
    }

    using (MysqLCommand cmd = new MysqLCommand("SELECT id FROM test",conn))
    {
        using (MysqLDataReader r = cmd.ExecuteReader())
        {
            r.Read();
            fromDb = new Guid((byte[])r.GetValue(0));
        }
    }
}

原文地址:https://www.jb51.cc/csharp/97593.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐