الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

محتاج احفظ صورة مع البيانات فى جدول واحد بجمله اس كيو ال

مغلق
بدأه سلامه بيومى في 2 فبراير 2008 · 2 رد · 884 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

اخى العزيز الفاضل / مصطفى

بعد التحيه والتقدير لك من قرائاتى فى المنتدى وجدت انك على علم ضليع فى برمجه الفيجوال فلى رجاء خاص منك

انا محتاج احفظ صورة مع البيانات فى جدول واحد بجمله اس كيو ال

ارجو ارسال مثال يوضح ذلك

حفظ بجمله الس كيو ال

واحضار البيانات مع الصور

هذا كومند والاخر كومند

واكون شاكرا لك

سلامه بيومى

القناطر الخيريه - قليوبية

salamabayome@yahoo.com

salamabayome@hotmail.com

#2
اقتباس
بعد التحيه والتقدير لك من قرائاتى فى المنتدى وجدت انك على علم ضليع فى برمجه الفيجوال

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

شكراً أخي الكريم ، لكن أخي صدقني ، لا خبرة ولا حاجة ، كل الحكاية أني أنا بحاول أجتهد ، وربنا هوا الي بيوفق لا أكثر ولا أقل . ويجب جيداً أن تعلم أن لولا المنتدي الكريم الذي أتعامل معه من بدايتة عام 2000 دون الشعور بأي إهانة ، كنت لم أقوم ببرمجة أي شيء ، لأن الفريق العربي للبرمجيات من أحب أحب أحب المنتديات التي أتعامل معها . ربنا يوفق جميع الأعضاء لما يحبه ويرضاة .

اقتباس
محتاج احفظ صورة مع البيانات فى جدول واحد بجمله اس كيو ال

هذا حسب نوع قاعدة البيانات ، فإذا كان أكسيس أعتقد أنه غير قادر علي ذلك ( والله أعلم ) ، أما الأوراكل فيحتوي علي دوال تحميل ملفات وصور داخل إحدي حقول البيانات مثل ( bfilename ) ، مثال :

Insert Into Emp(Emp_Code,Emp_Name,Emp_Picture) 
		   Values('001','Ahmed',bfilename('GIF_FILES','C:\Pic.GIF'));

لكن أخي أنا الي فهمتة منك أن هناك مشكلة في عملية إدراج صورة وسجل تقطيعياً ، بمعني أنك تقوم بإدراج السجل بالصورة كما يلي :

Cn.Execute "Insert Into Emp(Emp_Code,Emp_Name) Values('001','Ahmed')"

Open App.Path & "\Pic.jpg" For Binary As #1
bytData = Space(LOF(1))
Get#1,,bytData()
Close#1

Rs.CursorLocation = 3
Rs.Open "Select Emp_Pic From Emp Where Emp_ID = (Select Max(Emp_ID))",Cn,3,3

If(Rs.RecordCount > 0)Then
	 Rs!Emp_Pic = bytData()
	 Rs.Update
End If
Rs.Close

ففي هذه الحالة سيتم تنفيذ الجزء الأول بنجاح ، أما عن جزء الصورة فنفترض أنه حدث به مشكلة ، فكيف يتم إلغاء العمليتين !!!!

الكائن Connection يحتوي علي مجموعة من الأغراض Functions الهدف الرئيسي منهم هو ترك فرصة للكائن Connection للتحقق من المدخلات كلياً ، وفي حالة حدوث أي مشكلة يلغي العمليتين وهي :

''1- بداية عملية الحصر بهذه الوظيفة.
BeginTrans
''2- تنفيذ العمليات إذا لم يحدث أي مشاكل بهذه الوظيفة.
CommitTrans
''3- وفي حالة حدوث أي مشكلة أو مدخل غير سليم يتم إلغاء كافة العمليات بهذه الوظيفة.
RollbackTrans

إذاً ، فإن الكود السابق لإدراج صورة يجب أن يكتب بهذه الطريقة :

On Error GoTo ExitSave
	Cn.BeginTrans	   ''بداية.
	Cn.Execute "Insert Into Emp(Emp_Code,Emp_Name) Values('001','Ahmed')"

	Open App.Path & "\Pic.jpg" For Binary As #1
	bytData = Space(LOF(1))
	Get #1, , bytData()
	Close #1

	Rs.CursorLocation = 3
	Rs.Open "Select Emp_Pic From Emp Where Emp_ID = (Select Max(Emp_ID))", Cn, 3, 3

	If (Rs.RecordCount > 0) Then
		 Rs!Emp_Pic = bytData()
		 Rs.Update
	End If
	Rs.Close
	Cn.CommitTrans	  ''نهاية.
	Exit Sub
ExitSave:
	Cn.RollbackTrans	''إلغاء.

وهذه الوظائف تستخدم بكثرة في حالة إدراج سجلين بجدولين في آنٍ واحد ، وإذا حدث أي مشكلة بالسجلين فيلغي العمليتين بالسجلين .

إذا كان هناك شيء غير واضح فأنا تحت أمرك

شكراً

تم تعديل هذه المشاركة بواسطة MMA_EG_Cairo في 2 فبراير 2008 في 20:48

لا تخلط ما بين شخصيتي وأسلوبي .. فشخصيتي هي

ما أنا عليه وتحت تصرفي .. وأسلـوبي يعتمد عليـك

أنت وتصرفاتك

ولحظاتي صمت... وصمـت لحظاتي كلام ... كلامه

اشد آلام ... فصمتي أنا عنوان

عصر التكنولوجيا المعلوماتية(مدونتي الخاصة)

My FaceBook

#3

اخى الفاضل /

اشكرك على اهتمامك بالاعضاء ولاتزعل من اى عضو يكون من الممكن لايعرف يعبر كويس ومن الممكن انه يكون لايريد المعلومه او ما الى ذلك

ولكن الى عاوز يعمل الخير يعمله ويرميه البحر

واظن انك من فاعلى الخير

عموما لا اطيل عليك

وانا استفدت كثيرا من المبرنامج الذى ارسلته لى فى مشاركه سابقة وهى عن عمل تقرير جروب بالداتا ريبورت

ولكن استفسارات وهى

جمله فتح الداتا بيس مختلفه عن ما انا بفتحها وتوقفت عاجزا وانت مش منشط فى الريفرنس الداتا بيز

واليك الجملتين المرسله منك والتى استعملها وارجو ان تقول لى الفرق وتفهمنى

Conn.ConnectionString = "Provider=MsDataShape ;Data Provider = Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\DB1.mdb"

اما الذى استعمله انا

Set Cn = New ADODB.Connection

Cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=sal; Data Source=" & App.Path & "\DB.mdb"

هذه واحده

وياريت تبعت لى مثال عن كيفيه التنقل بين السجلات التالى والسابق والاول والاخير بالتفصيل وتضع بعين الاعتبار بانى سوف اكتب اى رقم فى رقم الشخص وعند الضغط على التالى يعرض السجل التالى يعنى ممكن اكتب رقم 11 فى رقم الشخص واضغط على مفتاح التالى يعرض لى رقم 12

واكون شاكر فضلك

سلامه بيومى

salamabayome@yahoo.com

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…