Sometimes you need to use information of different types like strings, booleans or doubles in the same data structure. In that case you would like to be able to create your own objects to fulfill your needs. But if you had to create 5 thousand different objects you wouldn't be too happy to do that by coding each one of them in a static way. You would like to fill the data in each one of the objects dynamically and most probably using databases.
If you create your own object and you can fill it with the data you want, then you are ready to get your job done. The use of the OleDbDataReader is sometimes better than using OleDbDataAdapter because you have better control of what you are doing. Follow the next steps and enjoy using your own data types.
Step #1: Add the following statement at the top of your source code
using System.Data.OleDb;
Step #2: Declare the following things you will use to read data from a database
OleDbCommand cmd = new OleDbCommand();
OleDbDataReader reader;
Step #3: Open the database connection
myConnection.Open();
Step #4: Configure the OleDbCommand properties
cmd.Connection = myConnection;
cmd.CommandText = "SELECT A, B, C, D FROMaTable WHERE A = Yes";
Step #5: Instantiate the reader with the data returned by the OleDbCommand
reader = cmd.ExecuteReader();
Step #6: Create an array of objects of the class you defined
using System;
namespace myNamespace
{
public class myClass
{
public int A;
public String B;
public bool C;
public bool D;
public myClass()
{
A = 0;
B = "0";
C = false;
D = false;
}
}
}
myClass[] arrMyClass = new myClass[150];
Step #7: Loop through the OleDbDataReader to get the information you need and fill the object array
int row = 0;
while(reader.Read())
{
int getA = reader.GetInt32(0);
String getB = reader.GetString(1);
bool getC = reader.GetBoolean(2);
bool getD = reader.GetBoolean(3);
arrMyClass[row].A = getA;
arrMyClass[row].B = getB;
arrMyClass[row].C = getC;
arrMyClass[row].D = getD;
row++; // Counts how many rows are being read
}
reader.Close(); // It is important to close the OleDbDataReader