منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : تساؤل حول مسار قاعدة البيانات بعد التحزيم
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2
السّلام عليكم و رحمة الله و بركاته
إخواني الأكرم .. أمسيّة طيّبة مباركة إن شاء الله
فضلٌ و إحسانٌ منكم أن ترشدوني حول هذه الإشكاليّة التي عكّرت صفو مزاجي
قمت برفع مثال جاهز من هذا المنتدى و حاولت تحزيمه فقط للتجربة ببرنامج الستيب فاكتوري
المشروع بعد التحزيم يشتغل بدون أدنى مشكلة .. إلاّ هذه النقطة المشكلة ..
عند إضافة البيانات تخبرني الرسالة " تمت عمليّة الحفظ بنجاح "
ألقي نظرة على قاعدة البيانات بالقرص C .. بعد التحزيم .. فأجد البيانات التي قمت بحفظها لا يوجد لها أي أثر
المشروع على جهازي بالقرص E لكن بعد التحزيم و التسطيب طبعًا سيكون مسار الملف التنفيذي بالقرص C
كيف يمكن تغيير المسار أم هناك طريقة تجعل البرنامج يقرأ و يتعامل مع قاعدة البيانات أينما كان مسارها
كود قاعدة البيانات بالملف المفتوح هو كالآتي بالموديل :
كود :
   Public Sub dbase_conn()
       If con.State = ConnectionState.Open Then con.Close()
       Try
           con = New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;Data Source=DOUSSADATABASE.accdb")
           con.Open()
       Catch ex As Exception
           MessageBox.Show(ex.Message, "لم يتم الربط مع قاعدة البيانات", MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly)
           con.Close()
           End
       End Try
   End Sub
أملي بالله إخواني الأفاضل ثم بكم تنويري حول هذه الإشكالية الهامّة بالنسبة لي
بارك الله فيكم و لكم مقدّمًا و جزاكم خير الجزاء
إحتراماتي
لما لا تضع قاعده البيانات بملف ال debug وعند التحزيم سوف تتحزم ايضا قاعده البيانات بنفس مسار البرنامج 
واجعل جمله الاتصال تاخذ الاتصال من نفس المسار الخاص بالبرنامج.

كود :
con = New OleDbConnection("provider=Microsoft.Ace.OLEDB.12.0;Data Source=|datadirectory|\DOUSSADATABASE.accdb")
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و لك و في صحّتك و أوقاتك و بكل عائلتك الكريمة أخي الكريم " ربيع "
قاعدة البيانات موجودة فعلاً بلامسار المشار إليه من سيادتك
سأبني مشروع صغير جديد و سأتّبع بإذنه تعالى إرشاداتك و أخبرك بما توصّلت إليه
أكرّر شكري وامتناني
السّلام عليكم و رحمة الله و بركاته
إخواني الأكارم .. يبدو أنّ ظاهرة الحفظ السليم في قاعدة بيانات خالية تماما أصبحت تلازمني دومًا
بالوقت الذي جهّزت به مثالا لأقوم بتحزيمه .. ظهرت لي هذه المشكلة حيث يتم الحفظ مع ظهور رسالة تؤكّد ذلك لكن بقاعدة البيانات لا أجد شيئًا ..
أين الخلل سادتي الأكارم ..بالملف المرفق .. فعلاُ جد آسف عن كثرة تساؤلاتي .. إبتدأت مع هذه اللغة الجميلة منذ أيّام فقط و ما زلت لا أميّز يمينها من شمالها
بارك الله فيكم و لكم و جزاكم خير الجزاء مسبّقًا
تحياتي
قمت بالتعديل على المشروع صديقي 
وأعذرني اذا غيرت قليلا بالكود الخاص بك

بالنسبه للترقيم ليس عليك ازعاج نفسك بعمله يدويا فقاعده البيانات تقوم به تلقائيا 
فقط قم بجعل العمود autonumber.
السلام عليكم

تابع  الموضوع التالي

http://vb4arb.com/vb/showthread.php?tid=22644
السّلام عليكم و رحمة الله و بركاته
بارك الله فيك و جزاك خير الجزاء أخي الكريم " ربيع " على المساعدة .. أدعو الله أن يجعل كل حرف و كل فاصلة ممّا كتبته بمليون حسنة إن شاء الله ..
للأسف أخي الغالي لم اتمكن من مشاهدة المرفق بسبب الإشكالية بالصورة المرفقة أدناه
إحتراماتي مع التقييم

(30-11-17, 03:14 AM)sendbad100 كتب : [ -> ]السلام عليكم

تابع  الموضوع التالي

http://vb4arb.com/vb/showthread.php?tid=22644

السّلام عليكم و رحمة الله و بركاته
تسلم أخي الحبيب الغالي " SENDBAD100 " على رابط الموضوع .. شاهدته سابقا لكني نسيته ..حيث يبدو أننا اأخذنا نفس الملف و الذي يتواجد بقسم الأمثلة و المشاريع ..لكن أخي قاعدة البيانات ليست داخل المشروع EXPLORER لأغير من خصائصها
إحتراماتي
قمت برفعه مره اخرى 


على ايه حال اذا لم يعمل تفضل الكود ::


لاكن قم بتحويل عمود الترقيم بقاعدع البيانات الى auronumber 

كود :
'فحص الاتصال بقاعدة البيانات
       If con.State = ConnectionState.Open Then
           con.Close()
       End If
       con.Open()
       Dim cmd As New OleDbCommand()
       cmd.CommandText = "insert into INFORMATION (FirstName,LastName,BirthDate,Gendre) values(@FirstName,@LastName,@BirthDate,@Gendre)"
       cmd.Parameters.AddWithValue("@FirstName", (TextBox2.Text))
       cmd.Parameters.AddWithValue("@LastName", (TextBox3.Text))
       cmd.Parameters.AddWithValue("@BirthDate", (TextBox4.Text))
       cmd.Parameters.AddWithValue("@Gendre", (ComboBox1.SelectedItem))
       cmd.Connection = con
       cmd.ExecuteNonQuery()
       con.Close()

وهذا الكود لعرض البيانات في ال gridview 
كود :
Private Sub fill_gridview()
       Try
           'فحص الاتصال بقاعدة البيانات
           If con.State = ConnectionState.Open Then
               con.Close()
           End If
           con.Open()
           Dim strSQL As String = "SELECT * FROM INFORMATION ORDER BY BirthDate ASC"

           Dim da As New OleDbDataAdapter(strSQL, con)
           Dim ds As New DataSet
           da.Fill(ds, "INFORMATION")
           DataGridView1.DataSource = ds.Tables(0)
           con.Close()
       Catch ex As OleDbException
           MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL Error")
       Catch ex As Exception
           MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
       End Try
   End Sub
السّلام عليكم و رحمة الله و بركاته
تمام أخي الكريم " ربيع " .. الملف مفتوح إشتغل زي الفل و الحمد لله .. الفضل له ثم لك
بارك الله فيك دنيا و آخرة و رزقك من حيث لا تحتسب
لكني دخلت بدوّامة أخرى
أخذت ملفك مثلما هو لم أنقص ولم أضف شيئا .. و قمت بتحزيمه و قد أدرجت قاعدة البيانات
بعد التحزيم ..كل شيء تمام لكن عند محاولة الحفظ .. جاءتني هذه الرسالة نفسها برابط هذا الموضوع ..
http://vb4arb.com/vb/showthread.php?tid=22721
بمعنى ما أخلص أنسى مشكلة تظهر لي مشكلة أكبر منها
إحتراماتي
حياك الله صديقي، لما لا تقوم بتحزيم قاعده البيانات مع تحزيم البرنامج نفسه، لماذا تقوم بنقل قاعده البيانات بعد التثبيت ؟؟
لم اقم بالكثير من التحزيم بالحقيقه انا انقل ملف ال debug بالعاده للزبون فقط.
على كلن انا لا اعرف ما برنامج التحزيم الذي تستخدمه 
لكن هناك برامج كثيره تستكيع تحزيم قاعده البيانات مع البرنامج.
الصفحات : 1 2