PDA

View Full Version : سوال: مشکل در تعریف () DataAccess db = new DataAccess



reza4359
دوشنبه 29 شهریور 1395, 22:06 عصر
سلام دوستان
میشه رفرنس () DataAccess db = new DataAccess رو معرفی کنید وقتی اضافه میکنم پیغام خطا میده

mrprestige
دوشنبه 29 شهریور 1395, 22:33 عصر
سلام دوست من وقتت بخیر ، دوست من میشه سوالتون رو کمی واضح تر بیان کنید :متفکر: .

reza4359
یک شنبه 04 مهر 1395, 15:17 عصر
سلام دوست من وقتت بخیر ، دوست من میشه سوالتون رو کمی واضح تر بیان کنید :متفکر: .
با سلام
من واسه کاربا اکسل و وارد کردن اطلاعات فایل اکسل به صورت گروهی در دیتابیس از این کد استفاده کردم
ولی نمیدونم منظور از DataAccess db = new DataAccess چیه
این مربوط به کدوم رفرنسه
موقع اجرا به کد بالا گیر میده

OpenFileDialog ofd = new OpenFileDialog();
ofd.Title = "انتخاب فایل اکسل حاوی اطلاعات مشترکین";
ofd.Filter = "فایل اکسل 2003 (*.xls)|*.xls|فایل اکسل 2007 به بعد(*.xlsx)|*.xlsx";
if (ofd.ShowDialog() == DialogResult.OK)
{
string excelConnectionString = "";
string SourceFilePath = ofd.FileName;

if (System.IO.Path.GetExtension(ofd.FileName) == ".xlsx")
excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + SourceFilePath + ";Extended Properties=Excel 12.0";
else if (System.IO.Path.GetExtension(ofd.FileName) == ".xls")
excelConnectionString = "Provider=Microsoft.Jet.Oledb.4.0;Data Source=" + SourceFilePath + ";Extended Properties=Excel 8.0";

System.Data.DataTable dt = new System.Data.DataTable("tbl_master");



using (System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(excelConnectionS tring))
{
connection.Open();
System.Data.OleDb.OleDbDataAdapter da = new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM [Sheet1$]", connection);
da.Fill(dt);
connection.Close();
}

using (System.Data.OleDb.OleDbConnection connection = new System.Data.OleDb.OleDbConnection(excelConnectionS tring))
{
this.Cursor = Cursors.WaitCursor;
connection.Open();
string sqlConnectionString = "Data Source=.;Initial Catalog=phone_projectdb;Integrated Security=True";
Dataaccess db = new Dataaccess();
DataTable dtr = db.select("Select Top(1) * From test");

using (System.Data.SqlClient.SqlBulkCopy bulkCopy = new System.Data.SqlClient.SqlBulkCopy(sqlConnectionStr ing, System.Data.SqlClient.SqlBulkCopyOptions.KeepIdent ity))//تعریف یک شی از کلاس SqlBulkCopy
{
for (int i = 1; i < dtr.Columns.Count; i++)
{
bulkCopy.ColumnMappings.Add(dt.Columns[i - 1].Caption, dtr.Columns[i].Caption);
}

bulkCopy.DestinationTableName = "tbl_master";
bulkCopy.WriteToServer(dt);
}
}
}

mrprestige
یک شنبه 04 مهر 1395, 18:43 عصر
سلام دوست من وقتت بخیر ، دوست خوبم این یک کلاس هست که توسط همون بنده حدایی که این کدها رو نوشته ایجاد شده ، این کلاس رو ایجاد کرده تا از حجم کدنویسی کم کاسته بشه اگه دقت کنی متغیری به اسم db از نوع همون کلاس (DataAccess) ایجاد کرده و متدی به نام Select داخلش تعریف کرده که حتما براش تعریف کرده ورودی اون از نوع رشته باشه تا بتونه Query مورد نظر رو بنویسه حالا برای اینکه بهتر متوجه بشی روی DataAccess کلیک کن و F12 رو بزن تا بری به جایی که این کلاس نوشته شده . اگه باز سوالی بود با کمال میل پاسخ میدم .

پیروز و موفق باشید