pbm_soy
چهارشنبه 19 آبان 1389, 16:32 عصر
سلام
چطور می تونم تعداد زیادی از رکوردها را در یک جدول بیکیاره ذخیره کنم بدون اینکه سیستم هنگ کند؟
نمونه ای که خودم نوشتم این مشکل را دارد تعداد رکوردها حداقل 100 هزار تا است و فقط یک فیلد دارد اونهم از نوع رشته است
در کد زیر یک فایل متنی باز می شود و محتویات در یک تکیت باکس ریخته شده و خطوط آن در جدول ریخته می شود
openFileDialog1.ShowDialog();
String fn = openFileDialog1.FileName;
if (fn.Length == 0) return;
StreamReader fsr = new StreamReader(fn);
textBox1.Text = fsr.ReadToEnd();
dbcon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mail.mdb";
dbcon.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = dbcon;
foreach(String s in textBox1.Lines )
{
cmd.CommandText = "insert into [emails]([email],[gname]) values('" + s +"','NoGroup');"
cmd.ExecuteNonQuery();
}
MessageBox.Show("saved complete.");
البته یک فکر دیگه هم دارم که insert ها را بصورت چند رکورد , چند رکورد انجام دهم ولی نمی دونم شاید باز این مشکل پیش بیاد آزمایش نکردم
در ضمن یک مشکل دیگه هم که دارم کندی نمایش رکوردها در grid می باشد می توانید الگوریتمی برای نمایش بصورت pageing پیشنهاد کنید
چطور می تونم تعداد زیادی از رکوردها را در یک جدول بیکیاره ذخیره کنم بدون اینکه سیستم هنگ کند؟
نمونه ای که خودم نوشتم این مشکل را دارد تعداد رکوردها حداقل 100 هزار تا است و فقط یک فیلد دارد اونهم از نوع رشته است
در کد زیر یک فایل متنی باز می شود و محتویات در یک تکیت باکس ریخته شده و خطوط آن در جدول ریخته می شود
openFileDialog1.ShowDialog();
String fn = openFileDialog1.FileName;
if (fn.Length == 0) return;
StreamReader fsr = new StreamReader(fn);
textBox1.Text = fsr.ReadToEnd();
dbcon.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + Application.StartupPath + "\\mail.mdb";
dbcon.Open();
OleDbCommand cmd = new OleDbCommand();
cmd.CommandType = CommandType.Text;
cmd.Connection = dbcon;
foreach(String s in textBox1.Lines )
{
cmd.CommandText = "insert into [emails]([email],[gname]) values('" + s +"','NoGroup');"
cmd.ExecuteNonQuery();
}
MessageBox.Show("saved complete.");
البته یک فکر دیگه هم دارم که insert ها را بصورت چند رکورد , چند رکورد انجام دهم ولی نمی دونم شاید باز این مشکل پیش بیاد آزمایش نکردم
در ضمن یک مشکل دیگه هم که دارم کندی نمایش رکوردها در grid می باشد می توانید الگوریتمی برای نمایش بصورت pageing پیشنهاد کنید