PDA

View Full Version : سوال: ثبت Excel در SQL با اضافه کردن ستون هایی به آن



samanff2000
شنبه 04 مهر 1394, 07:59 صبح
با سلام خدمت شما دوستان گرامی
من یک برنامه دارم می نویسم که در این باید هر روز یک فایل excel رو اضافه کنم و اطلاعات اون رو بعلاوه چند اطلاعات که خودم اضافه میکنم در برنامه ثبت کنم تا بتونم اطلاعات مورد نیاز رو از اون خارج کنم برنامه ای که من نوشتم باید اطلاعات رو یکی یکی بیاره هرکدوم رو جدا بخونه و در SQL ثبت کنه با توجه به این که اطلاعاتی که من وارد میکنم در هر مرحله حدود 17000 رکورد داره این زمان بر میشه و هر دفعه داره زمانش بیشترم میشه نزدیک 10 دقیقه زمان میبره خواستم ببینم میشه برنامه رو جوری تغییر بدم که زمان کمتر بشه ؟ در فایل Excel چند ستون هست که ببین اونها ستون های خالی وجود داره که اون رو با select رفع می کنیم حالا در کنار هر ردیف باید تاریخ اضافه بشه که از textbox خونده میشه و با توجه به کد هر ردیف باید دوتا اطلاعات اضافه بشه یکی نام استان و یکی هم کدی که برای استان در نظر گرفته شده که این هارو با دستور سوئیچ نوشتم اگه راه بهتری وجود داره لطفا راهنمایی کنید (چون تعداد دستور case زیاد بود برای مشاهده تعدادی بیشتر قرار ندادم اما در هر ردیف تعداد آن بیشتر از 20 مورد است)

DataTable dt = new DataTable();
db.Fill(dt);
int count = dt.Rows.Count;
ProgressBar1.Maximum = dt.Rows.Count;
if (count > 0)
{
int count_insert = 0;
for (int i = 0; i < count; i++)
{
DataRow rw = dt.Rows[i];


a = amar_fereshteganDataSet.amar.NewRow();
a["id"] = rw["کد"].ToString();
a["name"] = rw["عنوان"].ToString();
a["idsarfasl"] = rw["کد سرفصل"].ToString();
a["namesarfasl"] = rw["عنوان سرفصل"].ToString();
a["mandebedghabl"] = rw["مانده بدهکار قبل از دوره"].ToString();
a["mandebesghabl"] = rw["مانده بستانکار قبل از دوره"].ToString();
a["gardeshbed"] = rw["گردش بدهکار طی دوره"].ToString();
a["gardeshbes"] = rw[7].ToString();
a["mandebedpayan"] = rw["مانده بدهکار پایان دوره"].ToString();
a["mandebespayan"] = rw["مانده بستانکار پایان دوره"].ToString();
a["tarikh"] = maskedTextBox1.Text.Trim();
a["ostan"]= nameostan(rw["کد "].ToString());
a["idostan"]=kodostan(rw["کد"].ToString());
amar_fereshteganDataSet.amar.Rows.Add(a);
amarTableAdapter.Update(amar_fereshteganDataSet.am ar);


count_insert++;
ProgressBar1.PerformStep();
}

try
{
switch (kodshobe)
{
case "249":
case "279":
case "278":
return "خراسان شمالی";
//break;
case "326":
case "281":
case "308":

return "تبریز";
// break;
case "121":
return "قم";
// break;
case "119" :
case "118":
case "20" :

return "تهران";
// break;
case "1":
return "اصفهان";
break;
case "136":
case "149":
case "163":

return "یزد";
//break;
case "232":
case "225":
case "226":
case "173":

return "اهواز";
// break;
case "143":
case "167":
case "285":
case "277":

return "همدان";
//break;
case "227":
case "192":
case "202":
return "سنندج";
//break;
case "255":
case "254":
case "242":

return "خوزستان";
// break;
}
return "";
}
catch (Exception e1)
{
return "error";
}