PDA المساعد الشخصي الرقمي

عرض كامل الموضوع : _ كيف اقوم بتوزيع برنامج لديه قاعدة بيانات في الفيجوال بيسك _



mosami
11-04-2007, 16:09
احاول تصميم برنامج وهو مرتبط بقاعد بيانات
فاذا انتهيت وانا اعرف تماما خطوات التوزيع النهائي
لكن ..
اذا قمت بخطوات التوزيع فهل ستحفظ قاعدة البيانات مع البرنامج
اريد ان اعطي البرنامج لاحدهم ؟!مع قاعدة البيانات
ليقوم بالعمل في البرنامج على قاعدة البيانات
وشكراااااااا:)

The Crash
11-04-2007, 18:10
السلام عليكم...
أختي الكريمه يوجد قسم للبرمجه...
طيب بالنسبة لسؤالك لم أفهم محتواه جيداً...و لكن عادي جداً اعملي تحزيم للبرنامج بواسطة معالجال Package & Develpment Wizard الملحق بالفيجوال بيسلك(لو ما بتعرفي تستخدميه عودي لموضوعي في قسم البرمجه) و على كل بسيطة جداً بالنهاية فقط قومي بنسخ قاعده البيانات بحسب المسار الي إنتي محددتيه بالAppPath يعني مثلاً بنفس مجلد الexe..ذلك يعتمد على كودك....

mosami
12-04-2007, 20:25
السلام عليكم...
أختي الكريمه يوجد قسم للبرمجه
كلامك صحيح..اسفه :p
عندما تكون مراقبا لقسم البرمجة بإذن الله لن تحتاج الى قول مثل هذه العبارة ::جيد::


و لكن عادي جداً اعملي تحزيم للبرنامج بواسطة معالجال Package & Develpment Wizard الملحق بالفيجوال بيسلك(لو ما بتعرفي تستخدميه عودي لموضوعي في قسم البرمجه) و على كل بسيطة جداً بالنهاية فقط قومي بنسخ قاعده البيانات بحسب المسار الي إنتي محددتيه بالAppPath يعني مثلاً بنفس مجلد الexe..ذلك يعتمد على كودك....
اي اضع قاعدة البيانات في نفس مسار ملف الذي سينتج منه الـsetup شكرا
لكن ..
ان لم اضعها في المسار ألن يؤثر ذلك على معلومات البرنامج:(

اعني;)
البرنامج ياصديقي متصل بقاعدة البيانات عبر الاداة adodc فاذا اراد اراد شخص ان يستخدم البرنامج
وقاعدة البيانات التي تم الاتصال بينها وبين البرنامج في اثناء التصميم غير موجودة
فهل سيقوم البرنامج بإنشاء قاعدة بيانات جديدة !!
اين سيرسل المعلومات التي سيتلقاها ؟؟
:ميت:

The Crash
13-04-2007, 06:30
أهلاً بكي أختي الكريمه..

ان لم اضعها في المسار ألن يؤثر ذلك على معلومات البرنامج
لن يعمل البرنامج سيبحث عن القاعدة في المسار المحدد فإن لم يجد قاعده بنفس الاسم ستظهر رسالة خطأ و سوف تكون الحقول المربوطة بقاعدة البيانات و الموجدة في برنامجك فارغة..


البرنامج ياصديقي متصل بقاعدة البيانات عبر الاداة adodc فاذا اراد اراد شخص ان يستخدم البرنامج
وقاعدة البيانات التي تم الاتصال بينها وبين البرنامج في اثناء التصميم غير موجودة
فهل سيقوم البرنامج بإنشاء قاعدة بيانات جديدة !!
اين سيرسل المعلومات التي سيتلقاها ؟؟
صح أختي فهمت عليكي...و أداه الAdo ممتازة و لكن ....أول شيء يقوم به البرنامج هو البحث عن القاعده في المسار المحدد(هناك كود عليكي كتابته داخل البرنامج ليقوم بتحديد مسار قاعده البيانات ) بعد ذلك إن كانت موجوده و بنفس الاسم المحدد يتصل بها و يقوم بعمليه الربط أما لو لم يجدها يحدث ما قلت لكي عنه في الأعلى..و البرنامج لا يقوم بإنشاء قاعده بيانات جديده (إلا إذا كتبتي أنتي كود لبناء قاعده جديده في حال ضياع القاعدة القديمة) و لكن غالباً المبرمجون المحترفون يقومون بكتابه كود نسخ احتياطي للقاعده في حال حذفت القاعده يقوم البرنامج باستيراد القاعده من جديد...


اين سيرسل المعلومات التي سيتلقاها ؟؟
في حال فقدان القاعده لن يكون هناك إرسال أو استقبال معلومات ^.^ سيصبح البرنامج مجرد واجهة من دون قاعده:o

Wakashimazu
13-04-2007, 08:03
يسلمووووووووووووووووووووو على الموضوع الحلوو واتمنى المزيد منهااا

mosami
16-04-2007, 09:34
1-اريد كود نسخ قاعدة البيانات الاحتياطية لا بأس لست بحاجة ملحة له الان:ميت:
2- فيgrid أعني في الكانتول المسمي micrsoft Hieratchical flexgrid control 6.0(ole)
اريد توسيع احد الاعمدة لانها لا تظهر جميع مافيها اعني صغيرة بالنسبة للكتابة التي فيها ولم اجد مايساعدني في خصائص؟!

Update code

On Error GoTo errmsg
Adodc1.Recordset.Update
Exit sub
errmsg:
MsgBox "------------------"
Adodc1.Recordset.CancelUpdate



delete code

On Error Resume Next
Adodc1.Recordset.Delete
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext
ElseIf Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious
Else
MsgBox "This is the last record"
End If


next code


Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
MsgBox "----------------"
Adodc1.Recordset.MovePrevious
End If

promblems

1- when delete the record and do next he send me an error
whan i do debugg he tell me that the next code is the reson

Adodc1.Recordset.MoveNext
from Next code
and that not the same if i do previous because previous is okay

2-the other problem is the same but in a different way
if i did press add without writting any info and I pressed next or previous it do an error too

those errors i need to fix them or maybe u could learn me how to write acode for make it show
an error messeg and complete running instead of closing the whole program

3-the control(micrsoft hierarchical flexgraid control 6.0(ole)
how to give a cell more width from properties


and i'll be thankfull

The Crash
16-04-2007, 18:54
السلام عليكم...
أختي الكريمه..


1-اريد كود نسخ قاعدة البيانات الاحتياطية
ما عندي هلق بحاول شفلك ياه.

when delete the record and do next he send me an error
whan i do debugg he tell me that the next code is the reson

from Next code
and that not the same if i do previous because previous is okay
أيوا...طيب جربي تعملي تحديث لقاعده البيانات بعد كود الحذف ثم جعل الاسم المحدد هو التالي أو السابق حسب.

2-the other problem is the same but in a different way
if i did press add without writting any info and I pressed next or previous it do an error too
those errors i need to fix them
أصلاً عليكي أختي الكريمه عند استخدام كود الإضافة بأن تتأكدي أولاً بأن هناك بيانات مدخلة ...و عدم السماح بالإضافة إلا بعد التأكد من وجود البيانات..

or maybe u could learn me how to write acode for make it show
an error messeg and complete running instead of closing the whole program
طيب استخدمي الطريقة التالية :


On Error GoTo a
'كودك هنا
a:
Exit Sub

MsgBox "خطا !!"

أختي الكريمه ممكن تعطيني المثال سأحاول ترميم بعض مشاكله على الرغم من أني لا أتعامل مع قواعد البيانات..ممكن تعطيني المثال:o

mosami
18-04-2007, 22:08
المشكلة الحقيقة هي في حال فرضنا ان المستخدم يقوم بحذف جميع السجلات من قاعدة البيانات عبر البرنامج

عندها لن يبقى في قاعدة البيانات اي سجل فإذا ضغط بعدها الامر تالي او سابق
سيظهر رساله خطأ ويغلق كل شىء
فكرت في تلافي مثل هذه المشكلة اما بارسال رساله خطأ بوجوب اضافة سجل الى المستخدم ثم كانسل للامر تالي او سابق..
أو بجعل أول سجل غير قابل للحذف ولا ادري كيف اقوم بالحالتين هيهي

أظن انها الحاله ذاتها حين يقوم المستخدم بالامر حذف ثم يضغط الامر تالي ففي هذه الحالة لايوجد سجل تالي
لذا يرسل رساله خطأ ثم يغلق تلقائيا بطريقة بشعه

والحاله ذاتها ايضا حين يقوم المستخدم بالامر اضف (يعني اضافه سجل فارغ ليبدأ بكتابة المعلومات فيه )
وقبل ان يضيف شيئا يضغط تالي او سابق فترسل رساله خطأ ثم يغلق البرنامج نفسه بطريقة بشعه

انها حالات ثانوية لكنني احب وضع احتمالات لكل شىء..


إذا حللت هذه المشاكل فسأكون انتهيت تقريبا حيث بقي لي تصحيح حجم احدى الاعمدة
حيث الاداة المستخدمة هي الكانترول (micrsoft Hieratchical flexgrid control 6.0(ole

http://www2.*********/2007/04/18/22/49016306.jpg

The Crash
25-04-2007, 15:34
المشكلة الحقيقة هي في حال فرضنا ان المستخدم يقوم بحذف جميع السجلات من قاعدة البيانات عبر البرنامج

عندها لن يبقى في قاعدة البيانات اي سجل فإذا ضغط بعدها الامر تالي او سابق
سيظهر رساله خطأ ويغلق كل شىء
فكرت في تلافي مثل هذه المشكلة اما بارسال رساله خطأ بوجوب اضافة سجل الى المستخدم ثم كانسل للامر تالي او سابق..
أو بجعل أول سجل غير قابل للحذف ولا ادري كيف اقوم بالحالتين هيهي

أظن انها الحاله ذاتها حين يقوم المستخدم بالامر حذف ثم يضغط الامر تالي ففي هذه الحالة لايوجد سجل تالي
لذا يرسل رساله خطأ ثم يغلق تلقائيا بطريقة بشعه

والحاله ذاتها ايضا حين يقوم المستخدم بالامر اضف (يعني اضافه سجل فارغ ليبدأ بكتابة المعلومات فيه )
وقبل ان يضيف شيئا يضغط تالي او سابق فترسل رساله خطأ ثم يغلق البرنامج نفسه بطريقة بشعه

انها حالات ثانوية لكنني احب وضع احتمالات لكل شىء..

أختي الكريمه بالنسبة ل

فكرت في تلافي مثل هذه المشكلة اما بارسال رساله خطأ بوجوب اضافة سجل الى المستخدم ثم كانسل للامر تالي او سابق..
أو بجعل أول سجل غير قابل للحذف ولا ادري كيف اقوم بالحالتين هيهي
أختي الكريمه هذه الأساليب في البرمجه الاحترافية انقرضت و لم يعد هناك مكان لاستعمالها..ببساطة لازم برنامجك يكون مرن ..يعني لما شعر أن البيانات كلها انحذفت لازم تخلي أزرار الإضافة غير مفعلة يعني ENABLE=FALSE و هكذا الأمر بالنسبة لزر التالي في حال وصل المستخدم لآخر بيان في القاعدة..



والحاله ذاتها ايضا حين يقوم المستخدم بالامر اضف (يعني اضافه سجل فارغ ليبدأ بكتابة المعلومات فيه )
وقبل ان يضيف شيئا يضغط تالي او سابق فترسل رساله خطأ ثم يغلق البرنامج نفسه بطريقة بشعه
نفس الكلام السابق لازم يكون عندك شيء اسمه الحماية من الأخطاء ...عرفتي كيف لازم تحسبي كل الحالات الي ممكن يقوم بها المستخدم مثلاً تخلي الحقول الضرورية هي التي تتحكم بحالة الزر "موافق" بحيث لو لم يدخل المستخدم أي بيانات يبقى زر الإضافة ملغى الفعالية..أو ممكن تستخدمي رسالة تنبيهية و تمنعي المستخدم من الخروج أو تجبريه على اختيار إلغاء أمر أو أن يكتب البيانات.


إذا حللت هذه المشاكل فسأكون انتهيت تقريبا حيث بقي لي تصحيح حجم احدى الاعمدة
صدقيني يا أختي لم أتعامل مع أدوات ال Grid من قبل و لكن سأحاول ...

mosami
27-04-2007, 10:53
انظر كيف قمت بالتلاعب بالاكواد
هذا كان برنامجي في ماسبق



Private Sub cmdAdd_Click()
Adodc1.Recordset.AddNew
MsgBox "?EI? E??C?? C??????CE "
End Sub
------------------------------------------------------

Private Sub cmdBack_Click()
frmMain.Show
End Sub

----------------------------------------------------

Private Sub cmdCancel_Click()
Adodc1.Refresh
End Sub

--------------------------------------------------

Private Sub cmdDel_Click()
On Error Resume Next
Adodc1.Recordset.Delete
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext
ElseIf Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious
Else
MsgBox "??C ?? CI? ???"
End If
End Sub

----------------------------------------------------
Private Sub cmdEnd_Click()
frmConNav.Hide
End Sub
----------------------------------------------------
Private Sub cmdFirst_Click()
Adodc1.Recordset.MoveFirst
End Sub
-----------------------------------------------------
Private Sub cmdLast_Click()
Adodc1.Recordset.MoveLast
End Sub
----------------------------------------------------
Private Sub cmdNext_Click()
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
MsgBox "??C ?? ?I????"
Adodc1.Recordset.MovePrevious
End If
End Sub
--------------------------------------------------

Private Sub cmdPrev_Click()
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
MsgBox "??C ?? ??? ???"
Adodc1.Recordset.MoveNext
End If
End Sub
--------------------------------------------------
Private Sub cmdUpdate_Click()
On Error GoTo a
'Adodc1.Recordset.Update
MsgBox "E? ??U C????"
Exit Sub
a:
MsgBox "?? ?E? C?C?E C???? ?E?C E??E C?I? C????? ?C?UE"
Adodc1.Recordset.CancelUpdate
End Sub


---------------------------------------------------
وهذا هو بعد التعديل خخخخخ




Private Sub cmdAdd_Click()
On Error Resume Next
Adodc1.Recordset.AddNew
MsgBox "?EI? E??C?? C??????CE "
End Sub
------------------------------------------------

Private Sub cmdBack_Click()
frmMain.Show
End Sub
----------------------------------------------

Private Sub cmdCancel_Click()
Adodc1.Refresh
MsgBox "E? ??UC? C?C??"
End Sub

------------------------------------------
Private Sub cmdDel_Click()
On Error GoTo a
Adodc1.Recordset.Delete
MsgBox "E? ??? C???? "
If Not Adodc1.Recordset.EOF Then
Adodc1.Recordset.MoveNext
ElseIf Not Adodc1.Recordset.BOF Then
Adodc1.Recordset.MovePrevious
Else
MsgBox "??C ?? CI? ???"
End If
Exit Sub
a:
If Adodc1.Recordset.EOF Then
Adodc1.Recordset.AddNew
ElseIf Adodc1.Recordset.BOF Then
Adodc1.Recordset.MoveFirst
Else
MsgBox "?? ?E?? ??C? C? ??? ?????"
End If
End Sub
----------------------------------------------------
Private Sub cmdEnd_Click()
frmConNav.Hide
End Sub
---------------------------------------------------
Private Sub cmdFirst_Click()
On Error GoTo a
Adodc1.Recordset.MoveFirst

Exit Sub
a:
MsgBox "?? E?? E??U ??? ??? E?I"
Adodc1.Recordset.Cancel
End Sub
---------------------------------------------------

Private Sub cmdLast_Click()
On Error GoTo a
Adodc1.Recordset.MoveLast
Exit Sub
a:
MsgBox "?? E?? E??U ??? ??? E?I"
Adodc1.Recordset.Cancel
End Sub
-----------------------------------------------------

Private Sub cmdNext_Click()
On Error GoTo a
Adodc1.Recordset.MoveNext
If Adodc1.Recordset.EOF Then
MsgBox "??C ?? ?I????"
Adodc1.Recordset.MovePrevious
End If
Exit Sub
a:
MsgBox "?? E?? E??U ??? ??? E?I"
Adodc1.Recordset.Cancel
End Sub
---------------------------

Private Sub cmdPrev_Click()
On Error GoTo a
Adodc1.Recordset.MovePrevious
If Adodc1.Recordset.BOF Then
MsgBox "??C ?? ??? ???"
Adodc1.Recordset.MoveNext
End If
Exit Sub
a:
MsgBox "?? E?? E??U ??? ??? E?I"
Adodc1.Recordset.Cancel
End Sub
-------------------------------------
Private Sub cmdUpdate_Click()
On Error GoTo errmsg
Adodc1.Recordset.Update
MsgBox "E? ??U C????"
Exit Sub
errmsg:
MsgBox "?? ?E? C?C?E C???? ?E?C E??E C????? ?C?UE ?? ?E?C ?EEE C???? EC?????"
Adodc1.Recordset.CancelUpdate
End Sub


إنه برنامج بسيط جدا لمبتدأة مثلي
لكن المشكلة تكمن في عمل الباكيج ا لان كما شرحت لك في موضوعك الخاص

mosami
06-05-2007, 17:06
لدي مشكلة عند انشاء ملف exe فهل يعرف احد الحل؟
http://www3.*********/2007/05/06/17/18737470.jpg

وجزاكم الله خيرا

The Crash
06-05-2007, 17:11
أختي الكريمة إذا كان في ملف Exe سابق احذفيه و تأكدي من أن البرنامج خالي من الأخطاء بعد ذلك ممكن يكون الغلط من اللغة فأعيدي تثبيتها أختي

مشاكس البحرين
17-05-2007, 10:09
مشكوووووووووووووور على الموضوع الرووووووووعه ..

و يعطيك االف عافية على الطرح

تحياتي

مشاكس البحرين

علي_بابا
17-05-2007, 10:46
روووووووووووعة يعطيكم العافية