PDA

View Full Version : مبتدی: انتقال فايل csv به sql



paria136
یک شنبه 22 فروردین 1395, 05:38 صبح
سلام به همگي
اين برنامه فايل csv رو ميريزه توي sql ولي مشكل اينه خط اول رو نميريزه،واقعا نميدونم مشكل از كجاست.!!!!!!!!!!!
يه موضوع ديگه هم كه لازم به راهنمايي دارم اينه كه ميخوام هر ثانيه خط آخر فايل csv با sql مقايسه بشه كه اگر يكي نبودن ادامه اطلاعات اضافه شده رو بخونه و به sql منتقل كنه
لطفا كمكم كنيد كلا مغزم هنگ كرده :گریه::گریه::گریه:



private void button1_Click(object sender, EventArgs e)
{
string ssqltable = "Log";
SqlConnection con = new SqlConnection(@"Data Source=POURALI-PA-4114;Initial Catalog=Test;Integrated Security=True");
string filepath = "D:\\alert.csv";
StreamReader sr = new StreamReader(filepath);
string line = sr.ReadLine();
string[] value = line.Split(',');

foreach (string dc in value)
{
dt.Columns.Add(new DataColumn(dc));
}


while (!sr.EndOfStream)
{
value = sr.ReadLine().Split(',');
if (value.Length == dt.Columns.Count)
{
row = dt.NewRow();
row.ItemArray = value;
dt.Rows.Add(row);
}
}
SqlBulkCopy bc = new SqlBulkCopy(con.ConnectionString, SqlBulkCopyOptions.TableLock);
bc.DestinationTableName = "Log";
bc.BatchSize = dt.Rows.Count;
con.Open();
bc.WriteToServer(dt);
bc.Close();
con.Close();
MessageBox.Show("Done!!!");
}

Mahmoud.Afrad
چهارشنبه 08 اردیبهشت 1395, 15:36 عصر
نمونه فایل یا اطلاعات داخلش رو بزارید تست کنیم.

paria136
پنج شنبه 09 اردیبهشت 1395, 03:35 صبح
نمونه فایل یا اطلاعات داخلش رو بزارید تست کنیم.


دقیقا فایلی رو که باهاش تست کردم رو فرستادم. تعداد رکوردها ۵۳۱۱ هست. توی sql تعداد ۵۳۱۰ تا ذخیره میشه!!!

محمد رضا فاتحی
پنج شنبه 09 اردیبهشت 1395, 04:12 صبح
خوب مشخصه چرا...جون شما یکبار تو خط 7 خط جاری رو با یه reader خوندید و تو حلقه هم از همون ریدر استفاده می شه...برای همین از خط دوم شروع میشه...

paria136
جمعه 10 اردیبهشت 1395, 11:28 صبح
خوب مشخصه چرا...جون شما یکبار تو خط 7 خط جاری رو با یه reader خوندید و تو حلقه هم از همون ریدر استفاده می شه...برای همین از خط دوم شروع میشه...


متاسفانه نتونستم خروجی بگیرم. امکانش هست کد رو برام تغییر بدید. چون زیاد مسلط نیستم.:ناراحت: