ممكن شرح للخاصيه وطريقة اسعمالها..
Application.StartupPath + "..\\"
المطلوب ابغى اشغل مسار معين ويكون هالمسار موجود في
\bin\Debug
ويكون اسم الملف كالتالي
amoag.wmv
علما اني جربتها واحيانا يعطيني خطأ واحيانا لا يستجيب..
ممكن شرح للخاصيه وطريقة اسعمالها..
Application.StartupPath + "..\\"
المطلوب ابغى اشغل مسار معين ويكون هالمسار موجود في
\bin\Debug
ويكون اسم الملف كالتالي
amoag.wmv
علما اني جربتها واحيانا يعطيني خطأ واحيانا لا يستجيب..
تم تعديل هذه المشاركة بواسطة amoag في 14 فبراير 2011 في 05:59
string path = System.IO.Path.Combine(Application.StartupPath, "amoag.wmv");
قولوا لا اله الا الله تفلحوا
ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم
السلام عليكم و رحمة الله و بركاته
مرحبا أخي الكريم
بصفة عامة اذا كتبت هذه العبارة Application.StartupPath فانك ستحصل على موضع ملف التنفيذي التي تم بناءه Compiled و اثناء تصميمك للبرنامج يكون في bin\debug
فمثلا اذا اردت ان تطبع ما يحتويه تلك العبارة سيخرج التالي
C:\Users\???\documents\visual studio 2010\Projects\??? ?????? \??? ??????\bin\Debug
اذا اردت ان تصل لملف amoag.wmv و الموجود بهذا المسار يمكن ان تضيف علامة '\' او ان تضيف في الreferences
using System.IO
ثم تستخدم العبارة التالية
Path.Combine(Application.StartupPath,"amoag.wmv");
لينتج عنه نص بها المسار الكامل لذلك الملف الذي ستستخدمه لتشغيل الملف
ارجو ان اكون افدتك اخي
تقبل خالص تحياتي
مشكور على الرد..
لكن هل الطريقه هذي تنفع للتحزيم..
يعني اذا جيت احول المشروع الى (Setup) هل اضع ملف الفيديو داخل مجلد
\bin\Debug
واتبع الطريقه الي وضعتها..
تم تعديل هذه المشاركة بواسطة amoag في 14 فبراير 2011 في 07:47
لكي ينجد هذا يفضل ان تحدد نقل الملف لمكان تثبيت البرنامج أي Application Folder
فان Application.StartupPath يأتي بمسار المجلد التي تبدأ منه البرنامج و غالب المجلد التي يحتوي على الملف التنفيذي للبرنامج الذي تصممه
تقبل خالص تحياتي
المهم الملف يكون بجانب الEXE
قولوا لا اله الا الله تفلحوا
ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم
يعطيكم العافيه..
مشي الحال..
*_*
عندي اكثر من قاعدة بيانات في الـ Microsoft SQL Server 2008
وخليت البرنامج يتصل بالقاعده عن طريق هذا الكود..
Data Source=AMOAG-PC\AMOAG;Initial Catalog=ClubSystem;Integrated Security=True
السؤال الحين..
كيف اضيف قاعدة البيانات الى جانب ملف exe..
يعني وين احصلها..
وهل يتغير هذا الكود او يضل زي ماهوه..
إن شاء الله يكون سؤالي واضح..
(حاولت انزله موضوع جديد لكن للاسف يقول عدد النقاط غير كافي انتظر الى منتصف الليل وتعود النقاط)
تم تعديل هذه المشاركة بواسطة amoag في 14 فبراير 2011 في 15:30
يأخي هادا sql server مش access يعني قاعدة البيانات لازم تكون بالسيرفر نازلة .
لما بدك تعمل نشر لبرنامجك اجعله يقوم بفحص اذا كانت قاعدة البيانات موجودة ولا لا واذا لم تكن موجودة عليك بتنزيلها وذلك من خلال ملف sql. الذي ينتج من خلال تصدير قاعدة البيانات.
لكي تحصل على هذا الملف :
1-افتح الفيجوال استيديو
2- اضغط على View ثم Server explorer
3- اضغط بالزر اليمين على قاعدة البيانات المطلوبة ثم Publish to provider
4- اضغط next الى ان تحصل على الملف
لكي تعرف اذا كانت قاعدة البيانات نازلة ولا لا قم بتنفيذ الاستعلام التالي
select * from sys.databases where name = 'ClubSystem'
انتبه الى أن string connection هو
Data Source=AMOAG-PC\AMOAG;Integrated Security=True
اذا حصلت من تنفيذ هذا الاستعلام على عدد Rows.Count >0 فهذا يعني ان قاعدة البيانت موجودة ولا فانك بحاجة لتنصيبها
كيف تنصب قاعدة البيانات:
1- قم بتنفيذ الاستعلام التالي
create database ClubSystem
2-قم باستدعاء هذا الكود
string sqlConnectionString = "Data Source=AMOAG-PC\AMOAG;Initial Catalog=ClubSystem;Integrated Security=True"; FileInfo file = new FileInfo(System.IO.Path.Combine(Application.StartUpPath,"ClubSystem.sql")); string script = file.OpenText().ReadToEnd(); SqlConnection conn = new SqlConnection(sqlConnectionString); Server server = new Server(new ServerConnection(conn)); server.ConnectionContext.ExecuteNonQuery(script);
أرجو أن أكون قد أفدتك بشيئ
قولوا لا اله الا الله تفلحوا
ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم
المكتبات الازمة للكود
Microsoft.SqlServer.Smo.dll
Microsoft.SqlServer.ConnectionInfo.dll
ضيفهم كreference
قولوا لا اله الا الله تفلحوا
ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم
السلام عليكم و رحمة الله و بركاته
سأقدم لك حل أخر بافتراض انك عملت قاعدة البيانات في SQL Server الخاص بميكروسوفت
جرب ان تضع هذه العبارة في الConnection string
data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|;User Instance=true
حيث تستبدل عبارة |DataDirectory| بمكان الملف التي حددته في التثبيت ليكون بالكشف عن وجود قاعدة البيانات و اذا لم يجدها يبحث عن ملف الmdf و يقوم بالحاقه في محرك قاعدة البيانات التي يتم تثبيته على النظام(أي لابد ان تضع pre request محرك SQL Server طبقا لاصدار الSQL التي قمت بانشائه عليه
تقبل خالص تحياتي
يعطيكم العافيه اول شي..
ولو سمحتم انزلوا لمستوانا شوي عشان نستوعب اكثر..
الحين وين استعلم يا akramKamal
ويعطيك العافيه..
الاخ wisamsalah
بالنسبه لـ pre request كيف ارفقه..
وبخصوص تحديد الملف DataDirectory هل تقصد موقعه في مجلد الـ Debug
اي بعد ما ننقل قاعدة البيانات اليه..
SqlConnection sc = new SqlConnection(@"Data Source=AMOAG-PC\AMOAG; Initial Catalog=ClubSystem; Integrated Security=True");
يمكن تكون الاسئله غبيه!!
لكن الله يعينكم علينا
تم تعديل هذه المشاركة بواسطة amoag في 15 فبراير 2011 في 13:55
باستخدام SqlCommand و SqlConnection
قولوا لا اله الا الله تفلحوا
ومن يبتغي غير الاسلام دينا فلن يقبل منه وهو في الاخرة من الخاسرين- صدق الله العظيم
لم تفلح كلا الطريقتين اما لاني لم اطبقها صح او جهل مني..
فاذا تكرمتم تشرحونها لنا فديو..
للي يشوف نفسه متفرغ..
ويعطيكم العافيه..
amoag كتب:ولو سمحتم انزلوا لمستوانا شوي عشان نستوعب اكثر..
الاخ wisamsalah
بالنسبه لـ pre request كيف ارفقه..
وبخصوص تحديد الملف DataDirectory هل تقصد موقعه في مجلد الـ Debug
اي بعد ما ننقل قاعدة البيانات اليه..
SqlConnection sc = new SqlConnection(@"Data Source=AMOAG-PC\AMOAG; Initial Catalog=ClubSystem; Integrated Security=True");يمكن تكون الاسئله غبيه!!
لكن الله يعينكم علينا
يعطيكم العافيه اول شي..
حاضر أخي الفاضل
فلنفترض و انت تنشيء مشروع الSetup حددت ان ينقل ملفات قاعدة البيانات و لنفرض amoag.mdf و amoag.ldf في مكان الApplication Folder مع ملف الexe
فكان مكان الملف يمكن ان تحضره بالسطر التالي
string DBLocation = System.IO.Path(Application.StartupPath, "amoag.mdf");
سنأتي للConnection String
سنكتبها كالتالي
"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=" + DBLocation + ";User Instance=true"
اما عن كيفية ترفق محرك قاعدة البيانات SQL كpre-requisite
او انقر بالزر الأيمن على اسم مشروع الSetup
و اختر Properties
ستجد هذه الشاشة على الجانب الأيمن

اضغط على زر prerequisites
و ابحث عن هذه المدخلات لاختيار محرك قاعدة البيانات SQL Engine

ارجو ان اكون أفدتك اخي
تقبل خالص تحياتي
بخصوص الـ pre-requisite واضحه..
ما زالت المشكله في قاعدة البيانات
يعني اعرف انه يوجد لي ملفين amoag.mdf و amoag.ldf لكن اذا جيت انسخهم يرفض
اعرف اطلعهم amoag.sql
فهل تنطبق عليها نفس الطريقه
تم تعديل هذه المشاركة بواسطة amoag في 16 فبراير 2011 في 01:43
اذا كانت القاعدة مفتوحة بالSQL Server فلن تتمكن من نسخه عليك ان تعمل Detach لها أولا قبل نسخه ثم بعد ذلك يمكنك ان تعمل له attach مرة أخري بعد ان تكون نسخته
عزيزي ليست مفتوحه..
فاذا كنت متفرغ ياليت تشرحها لي عن طريق TeamViewer
واذا ما عندك وقت الله يجزاك خير ماقصرت..
احب ان انوه ان ليست معني ان الSQl Server Management Studio ليست مفتوحة يعني ان الملف غير مستخدم فهو مستخدم بقاعدة البيانات نفسها التي تديرها بهذا الواجهة
و عموما انشأت لك فيديو يوضح كيف تنسخ قاعدة البيانات لكنني قمت بتصويره(على عجالة)
رابط الفيديو
تقبل خالص تحياتي
يعطيك العافيه..
قدرت انسخ قاعدة البيانات *_*
ومازلت احاول في كود الاتصال..
قاعد انفذ نفس الاكواد الي تعطوني..
لكن يعطيني خطأ..
هل فيه اكثر من طريقه للاتصال بقاعدة البيانات..
لاني شفت في هالموقع حوسه..
http://www.connectionstrings.com/sql-server-2008#p1
فشكيت في طريقة اتصالي..
انتظركم..
تم تعديل هذه المشاركة بواسطة amoag في 16 فبراير 2011 في 04:49
amoag كتب:يعطيك العافيه..
قدرت انسخ قاعدة البيانات *_*
ومازلت احاول في كود الاتصال..
قاعد انفذ نفس الاكواد الي تعطوني..
لكن يعطيني خطأ..
هل فيه اكثر من طريقه للاتصال بقاعدة البيانات..
لاني شفت في هالموقع حوسه..
http://www.connectionstrings.com/sql-server-2008#p1
فشكيت في طريقة اتصالي..
انتظركم..
ما طرحه الموقع ليس أكثر من طريقة للاتصال بقاعدة البيانات بل طرح جميع الخيارات المستخدمة في الاتصال بقاعدة البيانات
و تلك السطر التي طرحته لك هو واحد منهم تحديد رقم 9
تحت عنوان
Attach a database file on connect to a local SQL Server Express instance
و قد اشرت في كلامك عند تنفيذك للكود خرج لك خطأ فهل يمكن ان تذكر نص الخطأ و نوعه ؟
تقبل خالص تحياتي
هل يصبح الاتصال بهذه الطريقة:
SqlConnection sc = new SqlConnection(@"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=E-Training.mdf;User Instance=true");
اذا كان نعم..
فالخطأ يظهري كتالي:
http://store2.up-00.com/Feb11/Ok067955.jpg
علما بأن في بعض الاوقات يفتح الشاشه الثانيه بدون اخطأ لكن لا يأتي بالبيانات من القاعدة
تم تعديل هذه المشاركة بواسطة amoag في 16 فبراير 2011 في 17:54
فلنفترض ان ملف الexe موجود بهذا المجلد
C:\Program Files\ScreenTrainee\ScreenTrainee.exe
و انت في مشروع الSetup حددت ان يكون ملف الMDF و الldf في Application Folder
أي ستكون مكانها
C:\Program Files\ScreenTrainee\E-Training.mdf
ستكون الConnection String كالتالي
SqlConnection sc = new SqlConnection(@"data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=C:\Program Files\ScreenTrainee\E-Training.mdf;User Instance=true");
تقبل خالص تحياتي
مو معقول ههههههه
يعطيك العافيه..
مشيت الطريقه..
كان مشكلتي اني اضيف القاعدة فقط دون المسار كامل وهنا كانت المشكله..
الف شكر لانك تابعت الموضوع الى ان صار صفحتين *_*
وكل الاخوان الي شاركونا..
*_*
عدنا مره اخرى !!
الحين اذا سطبت البرنامج على جهازي كل شي يعمل.
لكن اذا جيت اسطب على جهاز ثاني تبدا تظهر الاخطأ مره يقول ان مسار القاعده غير موجود (مع اني ارفقته بجانب exe) او يظهر لي مسار الجهاز الاول (الي اساسا غيرته)..
ليه كل هذي الاخطأ
علماً اني ارفقت مع البرنامج الاس كيو ال 2008..
واول شي يقوم به هو تثبيت الاس كيو ال..
فليه كل هالتعقيدات ؟؟
تم تعديل هذه المشاركة بواسطة amoag في 17 فبراير 2011 في 00:42