When retrieving data from the database user defined types are returned from the database server. This can be done with the MimerUserDefinedType class. Consider the following SQL types and table:
SQL Schema |
Copy Code
|
---|---|
create type streetno as integer; create type address as (street varchar(30), streetnumber streetno); create table person(personid int, home address); |
And the following code:
MimerConnection conn = new MimerConnection(connectionString);
try {
conn.Open();
MimerCommand comm1 = new MimerCommand("select * from person", conn);
//
// Create a data reader to retrieve the rows from the database
//
MimerDataReader reader = comm1.ExecuteReader();
while (reader.Read()) {
int personsId = reader.GetInt32(0);
MimerUserDefinedType personsHome = reader.GetUserDefinedType(1);
//
// We can access each part of the user defined type through an indexer on personsHome
//
string streetname = (string) personsHome[0];
int streetnum = (int) personsHome[1];
//
// Work with data...
//
}
reader.Close();
In the example the data from the user defined type column home is retrieved into the variable personsHome. The individual elements of the user defined type are then accessed through the indexer of the type. The indexer returns an instance of type object, so therefore a cast is used for each assignment.
Basic insert
Selecting user defined type into application class
Inserting user defined type from application class