سلام 
در این پست موضوعی رو مطرح میکنم که کمتر به آن پرداخته شده است
 ما از   ADO.Net استفاده میکنم ، لازمه فضای اسمی استفاده از oledb  برای مدیریت دسترسی به فایل های مایکروسافت اضافه شود . این فضای نام کلاس هایی است که میتونیم با استفاده از به تعامل با منابع داده ها مثل Excel، Access و انواع فایل های دیگه رو انجام بدیم .زمانی که کدرا تجزیه و تحلیل میکنیم در آن کلاس های OleDbConnection و OleDbCommand استفاده میکنیم  که  ابزار های اصلی اتصال به منبع هستند

 یک کنترل DataTable تعریف کردیم که شامل سطره ها و ستون ها می باشد و تمام اطلاعاتی که مااز منبع داده میخوانیم را شامل میشود.
کنترل آخر (BindingSource) که برای انجام عمل جستجو و نمایش اطلاعات در خروجی استفاده میشود.
بلافاصله بعد از استفاده از کلاس OleDbConnection  یک رشته اتصال برای منبع داده تعریف میکنیم که
Data Provider نامیده میشود 
درنهایت با استفاده از بایندیگ عمل داده کاوی انجام میشود


private DataSet _ds;
private DataTable _tb;
private BindingSource _bs;
public Form1()
InitializeComponent();
{
}
private void Form1Load(object sender, EventArgs e)
{
_ds = new DataSet();
_tb = new DataTable();
var myConnection = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties='Excel 12.0;HDR=yes");
_bs = new BindingSource();
_ds.Tables.Add(_tb);
var myCommand = new OleDbDataAdapter("SELECT * FROM [Foglio1$]", myConnection);
myCommand.Fill(_tb);
if (ReferenceEquals(sender, txtName))
_bs.DataSource = _ds.Tables[0];
}
private void TextBoxValidated(object sender, EventArgs e)
{
{
else if (ReferenceEquals(sender, txtCountry))
Trova((TextBox)sender, "Name");
}
else if (ReferenceEquals(sender, txtFamily))
{
Trova((TextBox)sender, "Family");
_bs.Filter = String.Concat(nomeColonna, " ", "LIKE '", textBox.Text, "*'");
}
{
Trova((TextBox)sender, "Country");
}
}
private void Trova(Control textBox, string nomeColonna)
{
DataGridView1.DataSource = _bs;
} } }