OLE DB is a COM-based application programming interface (API) for accessing data. OLE DB supports accessing data stored in any format (databases, spreadsheets, text files, and so on) for which an OLE DB provider is available. Each OLE DB provider exposes data from a particular type of data source (for example SQL Server databases, Microsoft Access databases, or Microsoft Excel spreadsheets).
A sample application which uses OLE DB is shown below:
// OleDbSample.cs
using System;
using System.Data;
using System.Data.OleDb;
using System.Xml.Serialization;
p ublic class MainClass {
public static void Main ()
{
// Set Access connection and select strings.
// The path to BugTypes.MDB must be changed if you build
// the sample from the command line:
#if USINGPROJECTSYSTEM
string strAccessConn = "Provider=Microsoft.Jet.OLEDB. 4.0;D ata Source=..\\..\\BugTypes.MDB";
#els e
string strAccessConn = "Provider=Microsoft.Jet.OLEDB. 4.0;D ata Source=BugTypes.MDB";
#endif
string strAccessSelect = "SELECT * FROM Categories";
// Create the dataset and add the Categories table to it:
DataSet myDataSet = new DataSet();
OleDbConnection myAccessConn = null;
try
{
myAccessConn = new OleDbConnection(strAccessConn) ;
}
catch(Exception ex)
{
Console.WriteLine("Err or: Failed to create a database connection. \n{0}", ex.Message);
return;
}
tr y
{
OleDbCommand myAccessCommand = new OleDbCommand(strAccessSelect,m yAcce ssConn);
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(myAccessComma nd);
myAccessConn.Open();
myDataAdapter.Fill(myDataSet," Categ ories");
}
catch (Exception ex)
{
Console.WriteLine("Err or: Failed to retrieve the required data from the DataBase.\n{0}", ex.Message);
return;
}
fina lly
{
myAccessConn.Close();
}
// A dataset can contain multiple tables, so let's get them
// all into an array:
DataTableCollection dta = myDataSet.Tables;
foreach (DataTable dt in dta)
{
Console.WriteLine("Fo und data table {0}", dt.TableName);
}
// The next two lines show two different ways you can get the
// count of tables in a dataset:
Console.WriteLine("{ 0} tables in data set", myDataSet.Tables.Count);
Cons ole.WriteLine("{0} tables in data set", dta.Count);
// The next several lines show how to get information on
// a specific table by name from the dataset:
Console.WriteLine("{ 0} rows in Categories table", myDataSet.Tables["Categories"] .Rows .Count);
// The column info is automatically fetched from the database,
// so we can read it here:
Console.WriteLine("{0} columns in Categories table", myDataSet.Tables["Categories"] .Colu mns.Count);
DataColumnCollect ion drc = myDataSet.Tables["Categories"] .Colu mns;
int i = 0;
foreach (DataColumn dc in drc)
{
// Print the column subscript, then the column's name
// and its data type:
Console.WriteLine("Colu mn name[{0}] is {1}, of type {2}",i++ , dc.ColumnName, dc.DataType);
}
DataRowColle ction dra = myDataSet.Tables["Categories"] .Rows ;
foreach (DataRow dr in dra)
{
// Print the CategoryID as a subscript, then the CategoryName:
Console.WriteLi ne("CategoryName[{0} ] is {1}", dr[0], dr[1]);
}
}
}
For more visit :
http://msdn.microsoft.com /en-us/lib rary/aa288452(VS.71).aspx
Answered by Madhurima
at
1:40 PM on July 09, 2008