PDA

View Full Version : سوال: خطادر گرفتن FileStream از يك فايل درحال اجرا



xxxxxxxxxx
یک شنبه 01 آذر 1388, 00:08 صبح
سلام .وخسته نباشيد.مي خواستم از يك فايل ورد(Word) درحال اجرايك FileStreamبگيرم ولي پيغام خطا مي دهد.
با 2005واس كيو ال 2000 كار مي كنم وهدفم ذخيره فايل ورد در بانك است كه با FileStream محتواي Byteآن را بدست آورم. وسپس آن راذخيره كنم.
اگر كسي راهنمايي كند تشكر مي كنم.


FileStream fs = fi.OpenRead();

در فايل frmWordControl.cs درخط1173 خطا مي دهد
فايل هاي ضميمه كل پروژاست كه از CodProject كپي كردم وكمي تغيير دادم.

xxxxxxxxxx
یک شنبه 01 آذر 1388, 00:10 صبح
اگر كمكي مي كنه اينهم تعدادي از قبل وبعداز محل خطا:

FileInfo fi = new FileInfo(templateFileName);
FileStream fs = fi.OpenRead();
int len = (int)fs.Length;
byte[] obyte = new byte[len];
fs.Read(obyte, 0, len);
fs.Close();

xxxxxxxxxx
یک شنبه 01 آذر 1388, 00:50 صبح
براي گزارشاتم نياز به خروجي داشتم كه قابل انعطاف حتي بعد از تنظيم آن توسط برنامه ، بود.لذا به سمت كار با فايلهاي ٌWord رفتم.در بانكم جدولي براي نگهداري اين فايلها قرار دادم و بوسيله BookMark ها اطلاعاتم را داخل آن ريختم . قابل استفاده است.اما فرمت و محتواي ثابت آن را مي خواستم در تنظيمات برنامه بتوان تغيير داد تا هردفعه نخواهيم تايپ كنيم.لذا رسيدم به مشكل فوق با فايل ورد كه باز ميباشد نمي توان Stream گرفت.
يك پروژه نمونه مفيد از CodeProject گرفتن وباكمي تغيير مشكلم را درآن نشان دادم.البته پروژ هنوز كامل نشده يعني نمي توان فايل را از بانك loadكرد من فقط خواستم مشكل را مطرح كنم.لازم به ذكر است كه بانك اين پروژه NorthWind است كه در مثال هاي خود Sql وجود دارد و براي تشكل جدول Doc كافي است دكمه CreatDocTableدر اولين فرم زده شود.
دوستان گرامي ممنون ميشوم از توجهتون.پيشاپيش تشكر مي كنم.

xxxxxxxxxx
یک شنبه 01 آذر 1388, 06:12 صبح
سلام .البته صورت مسئله به اين صورت است كه فايل در حال باز بودن ذخيره شود نه اينكه اول آن را ببنديم بعد ذخيره كنيم. ممنونم از زحمتي كه براي پاسخ دادن به اين سوال مي كشيد!

xxxxxxxxxx
یک شنبه 01 آذر 1388, 10:50 صبح
سلام دوستان کماکان منتظر راهنمائی هستم.ضمنا خود پروژه برای منکه نکات مفیدی درباب DataAccesLayerوUpdateData وُstoreProcedureوجابجایی اطلاعات بین دوفرم و ... داشت امیدوارم برای دیگران نیز مفید باشد هرچند ممکن است مثالهای بهتر از این نیز یافت شود.

xxxxxxxxxx
یک شنبه 01 آذر 1388, 18:23 عصر
سلام.از دوستاني كه اين سوال را مشاهده كردن و نتوانستند كمكي كنندتشكر مي كنم.بعيد مي دانم كه كسي نتواند كمكم كند ولي يك راه حل به ذهنم رسيده كه در واقع كمي دور زدن مسئله هست و آن اين كه ما فايل Wordرابنام فايلي ديگر ذخيره كنيم وبعد ازآن از فايل قبلي يك FileSreamبگيريم كه در حال حاضر باز نخواهد بود.يكم اينور يا آنورتر به هرحال اگر كسي راحل بهتري يا نقدي به اين راه حل دارد. ممنون ميشوم نظرش رابگويد.