MySQL Forums
Forum List  »  German

MySqlDbType.Guid
Posted by: Michael Giger
Date: September 07, 2010 12:15AM

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?

Options: ReplyQuote


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.