[C#] Objet dans une DB Access
Bonjour,
Je fais un petit programme qui utilise une DB Access et j'aimerais y enregistrer des objets d'une classe que j'ai fait.
Alors je m'y prend comme ceci :
Pour enregistrer dans ma DB
Code:
1 2 3 4 5 6
|
public static void Ajouter(MonObjet O)
{
OleDbCommand aCommand = new OleDbCommand("INSERT INTO Table (Id, Nom, Adresse, Description, Objet) VALUES ('" + O.Id + "','" + O.Nom + "','" + O.Adresse + "','" + O.Description + "', '" + O.Objet + "');", Program.aConnection);
OleDbDataReader aReader = aCommand.ExecuteReader();
} |
Pour relire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public static List<MonObjet> ChargerMonObjet()
{
List<MonObjet> l = new List<MonObjet>();
OleDbCommand aCommand = new OleDbCommand("select Id, Nom, Adresse, Objet, Description from Table", Program.aConnection);
OleDbDataReader aReader = aCommand.ExecuteReader();
while (aReader.Read())
{
MonObjet o = new MonObjet(aReader.GetInt32(0),aReader.GetString(1), aReader.GetString(2), (Objet)aReader.GetValue(3), aReader.GetString(4));
l.Add(o);
}
return l;
} |
L'erreur que j'obtiens :
Citation:
Impossible d'effectuer un cast d'un objet de type 'System.Byte[]' en type 'Applic2009.Objet'.
Dans ma DB Access l'objet est de type "Objet OLE".
Ou ais-je faux ?
Merci de votre aide :)