DataColumn et DefaultValue

cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006 - 29 sept. 2003 à 09:30
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006 - 1 oct. 2003 à 16:50
Mon problème est que j'aimerais récupérer la valeur par défaut d'un champ dans une table access.
J'ai essayé avec la propriété DefaultValue de DataColumn mais elle ne renvoie rien.
Et je ne sais pas comment faire autrement.

Si quelqu'un pouvait m'aider ça serait super.
Merci d'avance.

4 réponses

gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
29 sept. 2003 à 10:42
Quelle procédure suit tu pour arriver a obtenir ta table en variable DataTable ?
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
29 sept. 2003 à 11:44
Voilà ce que je fais :

OleDbConnection ObjConn = new OleDbConnection();
ObjConn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+repertbd;
ObjConn.Open();
string tableColumn = "";
//--création des dataadapter
OleDbDataAdapter DtAdap = new OleDbDataAdapter("select * from news",ObjConn);

//--création du dataset
DataSet Ds = new DataSet();

DtAdap.Fill(Ds,"news");
foreach(DataColumn dtc in Ds.Tables["News"].Columns)
{
tableColumn += dtc.DefaultValue.ToString()+"#";
}
return tableColumn;

Est-ce que tu connais une autre solution?
Merci
0
gg00xiv Messages postés 656 Date d'inscription mercredi 22 août 2001 Statut Membre Dernière intervention 11 mars 2005 13
29 sept. 2003 à 14:44
Il n'y a pas d'autres solutions, mais assure toi dans Access d'avoir bien mis des valeurs par defaut a tés colonnes.
0
cs_aurelie Messages postés 87 Date d'inscription lundi 22 avril 2002 Statut Membre Dernière intervention 12 octobre 2006
1 oct. 2003 à 16:50
J'ai trouvé la solution !!

- ajouter dans les références, l'objet COM ADOX (microsoft ADO ext 2.7 (msadox.dll)

using ADOX

public string DonneValeurDefaut()
{
ADOX.Catalog ObjCatalog = new ADOX.Catalog();
ObjCatalog.let_ActiveConnection("Provider=Microsoft.Jet.OLEDB.4.0;DataSource=base.mdb";

ADOX.Table TableCat = ObjCatalog.Tables["nomtabe"];
string valdef = "";
foreach(ADOX.Column Col in TableCat.Columns)
{
valdef += Col.Properties["Default"].Value.ToString()+" - ";
}

return valdef;
}

Voilà.
0
Rejoignez-nous