MySqlDbType.Guid
MySql kennt den Datentyp 'GUID'. Dieser ist jedoch nicht auswählbar bei der Spaltendefinition. Anstelle wird binary(16) verwendet.
CREATE TABLE `test` (
`id` binary(16) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1
Insert:
Guid guid = Guid.NewGuid();
MySqlCommand cmd = new MySqlCommand("INSERT INTO Test VALUES(?id)", cn);
// Fehler: Data too long for column 'xxx' at row 1
cmd.Parameters.Add("id", MySqlDbType.Guid).Value = guid;
// So funktioniert es
cmd.Parameters.Add("id", MySqlDbType.Binary).Value = guid.ToByteArray();
cmd.ExecuteNonQuery();
Select:
MySqlDataReader r = cmd.ExecuteReader();
while (r.Read())
{
Console.WriteLine("ID: {0}", r.GetGuid("id"));
}
Wie kann MySqlDbType.Guid direkt verwendet werden? Ist dies möglich?
Subject
Views
Written By
Posted
MySqlDbType.Guid
3006
September 07, 2010 12:15AM
Sorry, you can't reply to this topic. It has been closed.
Content reproduced on this site is the property of the respective copyright holders.
It is not reviewed in advance by Oracle and does not necessarily represent the opinion
of Oracle or any other party.