PDA

View Full Version : ذخیره اطلاعات یک فایل متنی در داخل بانک اطلاعاتی



caspiansea
یک شنبه 25 فروردین 1392, 22:41 عصر
با سلام
من میخوام اطلاعات یک فایل متنی رو خط به خط بخونم و هر خط رو توی بانک ذخیره کنم تا به انتهای فایل برسم.
ممنون میشم اگه کمکم کنید.
کد زیر رو هم نوشتم ولی درست نیست.

[L char[] ch= { '|' };
private void button2_Click(object sender, EventArgs e)
{
string filename;
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{

filename = openFileDialog1.FileName;
StreamReader sr = new StreamReader(filename);
while (!sr.EndOfStream)
{
string strt = sr.ReadLine();
string[] str = strt.Split(chr);
for (int i = 0; i < str.Length; i++)
{
subject = str[0];
code1 = int.Parse(str[1].ToString());
code2 = int.Parse(str[2].ToString());
code3 = int.Parse(str[3].ToString());
System.Data.SqlClient.SqlCommand cm = new System.Data.SqlClient.SqlCommand("insert into Table_1" +
" (fSubject, fCodeMain , fCodeParent,fCodeSanat) values ('" + subject + "'," + code1 + "," + code2 + "," + code3 + ")", cn);

cn.Open();
cm.ExecuteNonQuery();
cn.Close();
}
}
sr.Close();
}[/RIGHT][/LEFT]
}

veniz2008
یک شنبه 25 فروردین 1392, 22:59 عصر
سلام.

StreamReader sr = new StreamReader("d:\\test.txt");
string allchar = sr.ReadToEnd();
sr.Close();
string[] records = allchar.Split('\n');
for (int i = 0; i < records.Length; i++)
{
SqlConnection con = new SqlConnection("data source = .\\md2008;initial catalog = test;integrated security = true");
SqlCommand cmd = new SqlCommand("insert into person values (@line)", con);
cmd.Parameters.AddWithValue("@line", records[i]);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}

aliasghar2
یک شنبه 25 فروردین 1392, 23:06 عصر
سلام


این طور که من از کدت فهمیدم یه فایلی داری باید به قسمت های مختلف تقسیم کنی بعد توی بانک دخیره کنی لطفا ساختار تقسیم بندی رو هم بگو تا بهتر نتیجه گیری کنیم
مشکلت رو هم بنویس سوالت خیلی کلیه

caspiansea
دوشنبه 26 فروردین 1392, 07:32 صبح
سلامآره یه فایل دارم که حدود 200 خط میشه و هر خط هم شامل چهار قسمته که همون فیلده های جدولم هستند و در داخل فایل با کاراکتر | از هم جدا شدن.حالا میخوام خط به خط فایلم رو بخونم و هر خط رو که شامل چهار قسمته رو توی جدول بانکم ذخیره کنم.امیدوارم خوب توضیح داده باشم.ممنون میشم کمک کنید

veniz2008
دوشنبه 26 فروردین 1392, 10:19 صبح
مثال برای سه فیلد id و name و family :

StreamReader sr = new StreamReader("d:\\test.txt");
string allchar = sr.ReadToEnd();
sr.Close();
string[] records = allchar.Split('\n');
for (int i = 0; i < records.Length; i++)
{
string[] field = records[i].Split('|');
SqlConnection con = new SqlConnection("data source = .\\md2008;initial catalog = test;integrated security = true");
SqlCommand cmd = new SqlCommand("insert into person values (@id,@name,@family)", con);
cmd.Parameters.AddWithValue("@id", field[0]);
cmd.Parameters.AddWithValue("@name",field[1]);
cmd.Parameters.AddWithValue("@family", field[2]);
con.Open();
cmd.ExecuteNonQuery();
con.Close();
}
موفق باشید.