1- فایلم باینری هستنقل قول:
حالا یه سوال دیگه پیش اومد ...
اگه فایل txt باشه برای تبدیل string به DateTime باید چه کنم؟
تابع ToDate هم نداره که! یا من بلد نیستم؟
2- پس باید چه کاری بکنم برای گزارشگیری از یک فایل؟
متشکر
Printable View
1- فایلم باینری هستنقل قول:
حالا یه سوال دیگه پیش اومد ...
اگه فایل txt باشه برای تبدیل string به DateTime باید چه کنم؟
تابع ToDate هم نداره که! یا من بلد نیستم؟
2- پس باید چه کاری بکنم برای گزارشگیری از یک فایل؟
متشکر
دوباره سلام.
میتونین از متود Parse استفاده کنین
به این شکل :
کد:
DateTime time = DateTime.Parse(string);
سلام
من ميخوام محتواي جداول بانك اطلاعاتي با Sql را بخونم و بريزم در يك فايل
و بعد ميخوام همون فايلي كه ايجاد كردم اطلاعاتشو بخونم و بريزم داخل جداول بانك اطلاعاتي
امكان اين كار هست ؟
سلام.
دقیقا برعکس همون برنامه باید عمل کنین. البته موردی که براتون گذاشته بودم تنها در مورد یه field هست.
کافیه فایل مورد نظر رو خط به خط جستجو کنین با استفاده از ReadLine.
اگه بانک شما چندین field داره میتونین اطلاعات هر رکورد رو به صورت یه تگ در یه فایل ذخیره کنین .
البته اگه خودتون بخواین میتونین براش یه parser بنویسین.
مثلا :
نمونه بالا قراردادی هست که خودتون ایجاد میکنین. میتونه هر شکلی داشته باشه.کد:
<Name>
name1
name2
name3
</name>
<lastName>
lname1
lname2
lName3
</lname>
اما یه روش استاندارد به نام CSV وجود داره .تو این روش شما اطلاعات هر field و record رو پست سر هم و
بوسیله " , " از هم جدا میکنین. می تونین از XMLparser هم استفاده کنین.
سلامنقل قول:
ميشه راجب CSV بيشتر برام بگين و اينكه چطوري ميتونم ازش استفاده كنم انكه با كاما جدا بشه خيلي خوبه
اشیائی از نوع DataTable و DataSet متدهایی دارند با نام هاینقل قول:
ReadXml()
ReadXmlSchema()
WriteXml()
WriteXmlSchema()
s
با استفاده از این متدها می توان کل جدول را درون یک فایل xml ذخیره و سپس آن را بازیابی کرد.
البته باید Schema جدول را هم ذخیره کرد تا موقع خواندن مشکلی بوجود نیاید.
برای ذخیره:
و برای خواندن:کد:myTable.WriteXmlSchema("myTableSchema.xml");
myTable.WriteXml("myTable.xml");
پس کاری که شما می کنید اینه که جدول را درون یک DataTable بخونید و سپس اون رو بوسیلۀ این متدها ذخیره کنید.کد:myTable.ReadXmlSchema("myTableSchema.xml");
myTable.ReadXml("myTable.xml");
دوباره سلام.
در مورد CSV میتونین Parser پیدا کنین.مثلا :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
البته قبل از بحث در موردش به شما بستگی داره. حمیدرضا مطلبی رو در باره ی XML گذاشتن.
قبلا هم در بارش صحبت کرده بودیم.
یکی از دو موضوع رو انتخاب کنین تا بتونیم بیشتر در موردش صحبت کنیم. (XML بهتر هست.)
چون موضوع خیلی جالبی هست و همین طور پر کاربرد.
و اگه قرار هست این بحث ادامه پیدا کنه ، لطفا در پست زیر دنبالش کنین :
[ برای مشاهده لینک ، با نام کاربری خود وارد شوید یا ثبت نام کنید ]
سلام
از ReadXML, WriteXML استفاده كردم و تقريبا كارم حل شد ( ممنون حميدرضا)
فقط 1 مشكل پيش اومد ، اينكه در دو تا از جدولها از Identity استفاده كردم و زماني كه ميخوام
اطلاعات رو داخل جدول بريزم اين اجازه را به من نميده
حتي از دستور SET Identity Table OFF هم استفاده كردم ولي بازم جواب نميده
1 راه حل به من بگيد تا فردا بيشتر وقت ندارم
دوباره سلام
برای دستیابی به یک رکورد (یعنی همون سرچ) در یک فایل txt و از نوع random access اآیا متد خاصی داریم؟
اگه نه پس چه کار باید بکنیم؟
باید از متد Seek کلاس FileStream استفاده کنیم.نقل قول:
فرض می کنیم فایلی به نام test.dat وجود دارد. با کد زیر آن را باز می کنیم.
کد:FileStream fs = new FileStream("test.dat",FileMode.Open,
FileAccess.Read,FileShare.Read);
با استفاده از متد Seek می توان به هرجای فایل رفت و آنجا عمل خواندن را انجام داد:
این دستور اشاره گر فایل را به بایت 100 فایل می برد.کد:fs.Seek(100,SeekOrigin.Begin);
اشاره گر فایل را به 10 مین باید (از آخر) فایل می برد.کد:fs.Seek(10,SeekOrigin.End);
100 بایت از محل حاضر جلوتر می رود.کد:fs.Seek(100,SeekOrigin.Current);
برای خواندن یک تعداد بایت هم می توان به صورت زیر عمل کرد:
که 100 بایت را می خواند (از بایت 100 تا 200) و درون آرایه می ریزد. (0 مشخص می کند که از کدام خانۀ آرایه شروع کند به ریختن بایت ها به درون آرایه)کد:byte[] byteArray = new byte[100];
int numBytesRead = fs.Read(byteArray, 0, 100);
و در آخر هم یادتان نرود که فایل را ببندید:
البته یک روش دیگر هم می توان استفاده کرد:کد:fs.Close();
همۀ فایل را درون آرایه ای از String ها بخوانیم و با آن مثل خطوط فایلمان رفتار کنیم:
کد:StreamReader sr = new StreamReader("d:\\passwords.txt");
String pwd = null;
string[] line = new string[10];
for (int i = 0; i < 10; i++)
{
line[i] = sr.ReadLine();
}
int index = 0;
pwd = line[index].ToString();
sr.Close();