1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| private static void TestRelations()
{
OracleConnection conn = null;
try
{
conn = new OracleConnection("Data Source=TEST;user=TOTO;password=TOTO");
conn.Open();
string query = "SELECT code, codeparent FROM matable";
OracleDataAdapter adapter = new OracleDataAdapter();
adapter.SelectCommand = new OracleCommand(query, conn);
DataSet ds = new DataSet();
ds.CaseSensitive = true;
adapter.MissingSchemaAction = MissingSchemaAction.AddWithKey;
adapter.FillSchema(ds, SchemaType.Mapped);
adapter.Fill(ds);
ds.Tables[0].TableName = "maTable";
ds.ExtendedProperties.Add("selectCommand", query);
ds.EnforceConstraints = false;
DataRelation relation;
DataColumn parent = ds.Tables["matable"].Columns["code"];
DataColumn enfant = ds.Tables["matable"].Columns["codeparent"];
relation = new DataRelation("maRelation", parent, enfant);
ds.Relations.Add(relation);
DataColumn col = new DataColumn("nvcol", Type.GetType("System.Decimal"), "Avg(Child(maRelation).code)");
ds.Tables["matable"].Columns.Add(col);
DataTable tmp = ds.Tables["matable"].Copy();
}
catch (Exception e)
{
Console.WriteLine(e.ToString());
}
finally
{
if (conn != null)
{
conn.Close();
Console.WriteLine("Fermeture de la connexion ok !");
}
}
} |
Partager