samin_panahi
جمعه 05 مهر 1392, 19:05 عصر
سلام
می خوام اطلاعات یه فایل اکسل رو به اطلاعات دیتاگرید اضافه کنم اما چندتا مساله وجود داره:
من تو دیتابیسم 7 تا فیلد دارم که اولیش id هست و کلید اصلی و تو دیتاگرید کلید اصلی رو نشون نمی دم
oleDbCommand1.CommandText = "select * from table";
//.....
dataGridView.Columns[0].Visible = false;
100% فایل اکسلی که کاربر می خواد اطلاعاتش رو وارد کنه id نداره حالا من می خوام اطلاعات رو که از فایل اکسل می خونه خودش بیاد یه فیلد Id هم به اولش اضافه کنه و با توجه به آخرین id تو دیتابیس فیلد Id رو مقدار دهی کنه بعد اطلاعات رو به دیتابیس اضافه کنه (نه جایگزبن) و تو دیتاگرید نشون بده
کدی که استفاده می کنم اینه:
private void LoadFile(DataGridView dg, string filename, string ssheet)
{
string cs = "";
if (System.IO.Path.GetExtension(filename) == ".xlsx")
{
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties='Excel 12.0;'";
}
else
{
cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;'";
}
try
{
OleDbConnection cn = new OleDbConnection(cs);
if (!System.IO.File.Exists(filename))
{
MessageBox.Show("Not Found!");
}
OleDbDataAdapter adapter = new OleDbDataAdapter("Select * From [" + ssheet + "$]", cs);
DataSet ds = new DataSet();
adapter.Fill(ds);
dg.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void button1_Click_1(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
LoadFile(dataGridView, openFileDialog1.FileName, "Sheet1");
}
}
ممنون می شم راهنمایی کنید، خیلی برام مهمه!
می خوام اطلاعات یه فایل اکسل رو به اطلاعات دیتاگرید اضافه کنم اما چندتا مساله وجود داره:
من تو دیتابیسم 7 تا فیلد دارم که اولیش id هست و کلید اصلی و تو دیتاگرید کلید اصلی رو نشون نمی دم
oleDbCommand1.CommandText = "select * from table";
//.....
dataGridView.Columns[0].Visible = false;
100% فایل اکسلی که کاربر می خواد اطلاعاتش رو وارد کنه id نداره حالا من می خوام اطلاعات رو که از فایل اکسل می خونه خودش بیاد یه فیلد Id هم به اولش اضافه کنه و با توجه به آخرین id تو دیتابیس فیلد Id رو مقدار دهی کنه بعد اطلاعات رو به دیتابیس اضافه کنه (نه جایگزبن) و تو دیتاگرید نشون بده
کدی که استفاده می کنم اینه:
private void LoadFile(DataGridView dg, string filename, string ssheet)
{
string cs = "";
if (System.IO.Path.GetExtension(filename) == ".xlsx")
{
cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + filename + ";Extended Properties='Excel 12.0;'";
}
else
{
cs = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filename + ";Extended Properties='Excel 8.0;'";
}
try
{
OleDbConnection cn = new OleDbConnection(cs);
if (!System.IO.File.Exists(filename))
{
MessageBox.Show("Not Found!");
}
OleDbDataAdapter adapter = new OleDbDataAdapter("Select * From [" + ssheet + "$]", cs);
DataSet ds = new DataSet();
adapter.Fill(ds);
dg.DataSource = ds.Tables[0];
}
catch (Exception ex)
{
MessageBox.Show(ex.ToString());
}
}
private void button1_Click_1(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
LoadFile(dataGridView, openFileDialog1.FileName, "Sheet1");
}
}
ممنون می شم راهنمایی کنید، خیلی برام مهمه!