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

مشكلة في كود عرض البيانات من قاعدة البيانات

بدأه مبرمجة فلسطين في 8 يونيو 2010 · 16 رد · 1,758 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

عندي مشكلة في هذا الكود ومع أني حاولت أمشي على الخطوات كلها التي في الكتب

الكود لعرض البيانات الموجودة في جدول بقاعدة البيانات في داخل مربعات النص

ثم لي سؤال آخر لو سمحتم

هل يمكن أن أخذ بيانات من أكثر من جدول في نفس الوقت بمعنى أن يكون الفورم عندي فيه أكثر من مربع نص وليست كلها من نفس الجدول هل يمكن ذلك وكيف ؟؟؟

شاكرة لكم جهودكم

ممكن أحد يشوف المشاركة ويعدل تنسيق الكود لأنه التنسيقات لاتعمل عندي أبداً

وشكراً

Imports System.Data

Imports System.Data.OleDb

Public Class Form4

Dim msAccessCn As New OleDbConnection

Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source =" & Application.StartupPath & "\School.MDB"

Dim conn As New OleDbConnection(ConnString)

Dim dataset1 As New DataSet

Dim sqlstr As String = "select * from Students"

Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click

Me.Hide()

Form3.Show()

End Sub

Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

conn.Open()

Dim dataadapter1 As New OleDbDataAdapter(sqlstr, conn)

dataadapter1.Fill(dataset1, "Students")

conn.Close()

TextBox1.DataBindings.Add("text", dataset1, "Students.Stu_No")

TextBox2.DataBindings.Add("text", dataset1, "Students.Stu_Name")

TextBox3.DataBindings.Add("text", dataset1, "Students.Stu_Age")

TextBox4.DataBindings.Add("text", dataset1, "Students.Stu_Nationality")

TextBox5.DataBindings.Add("text", dataset1, "Students.Stu_card_No")

TextBox6.DataBindings.Add("text", dataset1, "Students.Stu_Address")

TextBox9.DataBindings.Add("text", dataset1, "Students.Stu_Birth_Date")

TextBox10.DataBindings.Add("text", dataset1, "Students.Stu_Birth_Place")

TextBox12.DataBindings.Add("text", dataset1, "Students.Stu_Phone")

'ComboBox1.DataBindings.Add("selectedvalue", dataset1, "Stages.Sta_Name")

End Sub

تم تعديل هذه المشاركة بواسطة مبرمجة فلسطين في 8 يونيو 2010 في 15:27

#2
TextBox1.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_No")

دايما بتعملى كل شيء صح و بتنسي خطوة بسيطة فى الأخر كل سطر فى DataBinding ضيفى فى ال dataset1.Tables("Students")

الDataSet هى object مكون من مجموعة DataTables فأنتى بقتوليلوا Bind من ال DataSet دي بس مش بتقولى من أنى Table

و بالنسبة لسؤالك الثانى نعم يمكنك انك تجيبي داتا من أكثر من Table عن طريق جملة ال Query هتضيفي عليها Inner Join أو Left Outer Join او Right Outer Join بالTable الثانى

بالتوفيق إن شاء الله

#3
Tornadofay كتب:

TextBox1.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_No")

دايما بتعملى كل شيء صح و بتنسي خطوة بسيطة فى الأخر كل سطر فى DataBinding ضيفى فى ال dataset1.Tables("Students")

الDataSet هى object مكون من مجموعة DataTables فأنتى بقتوليلوا Bind من ال DataSet دي بس مش بتقولى من أنى Table

و بالنسبة لسؤالك الثانى نعم يمكنك انك تجيبي داتا من أكثر من Table عن طريق جملة ال Query هتضيفي عليها Inner Join أو Left Outer Join او Right Outer Join بالTable الثانى

بالتوفيق إن شاء الله

السلام عليكم أخي أشكرك على اهتمام وأتمنى أن يتسع صدرك لأسألتي فأنا مازلت أتعلم

بالنسبة للكود فأنا أطبق ما أقرأه وأفهمه ولا يوجد أي كتاب مما قرأت يوضح طريقتك مع أنه كلامك منطقي

المهم أني حاولت تطبيق ما أشرت اليه ولكن بقي نفس الخطأ فما هو السبب ؟؟؟

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

في كل مره كنت أعمل فيها فورم كنت أعرف اتصال جديد وdataset جديدة

فهل ممكن تكون هذه المشكلة ؟؟؟

سؤال الثاني : بالنسبة لربط أكثر من جدول يكون في هذه الجملة

Dim sqlstr As String = "select * from Students inner join class"

ثم بعد ذلك أقوم بذكر الجدوال في هذه الجملة

dataadapter1.Fill(dataset1, "Students","class")

هل هذا صحيح أم لا ؟؟؟

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

#4

أخي لا أذكر فقط اسم واحد وليكن أسم الجدول Student

dataadapter1.Fill(dataset1, "Students")

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#5

السلام عليكم

أنت تقصد أنه اذا أردت أن أستخدم أكثر من جدول أقوم بتعريف أكثر من dataadapter أليس كذلك

هذا بالنسبة للسؤال الأول طيب والسؤال الثاني

#6

اين السؤال الثاني؟

DataAdapter يأخذ جملة استعلام واحدة ويمكنك كتابة اي اسم للجدول ولكن عليك استخدام نفس الاسم في باقي الكود ..

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#7

أشكرك على جهودك

وعفواً أقصد السؤال الأول والمتعلق بالكود

TextBox1.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_No")

هذه الجملة بعطي عليها خطأ ولا يعرض أي شيء من قاعدة البيانات

أخي Tornadofay ما جاوبت على سؤالي

وأخي was_hal اذا كان عندك حل للمشكلة هذه فأرجو وضعه ومساعدتي به

ومشكورة جهودكم

#8

بالنسبة للسؤال الأول:

الكود الذي اشار عليه الأخ Tornadofay اعتقد انه صحيح .. ولكن عليك تطبيق ذلك على كل الحقول.. كمايلي:

 Private Sub Form4_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
 	conn.Open()
 	Dim dataadapter1 As New OleDbDataAdapter(sqlstr, conn)
 	dataadapter1.Fill(dataset1, "Students")
 	conn.Close()
 	TextBox1.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_No")
 	TextBox2.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Name")
 	TextBox3.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Age")
 	TextBox4.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Nationality")
 	TextBox5.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_card_No")
 	TextBox6.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Address")
 	TextBox9.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Birth_Date")
 	TextBox10.DataBindings.Add("text", dataset1.Tables("Students"), "SStu_Birth_Place")
 	TextBox12.DataBindings.Add("text", dataset1.Tables("Students"), "Stu_Phone")
 	'ComboBox1.DataBindings.Add("selectedvalue", dataset1, "Stages.Sta_Name")
	End Sub

ولكن تأكد من قاعدة البيانات الموجودة في مجلد Debug ربما لا يوجد بيانات أصلا ..

وبالنسبة للسؤال الأخر فيما يتعلق بالاستعلام من اكثر من جدول نعم يمكن ذلك وإليك المثال التالي لو افترضنا ان العلاقة بين جدولي Student و Class هي

Class.ID -< Student.ClassID أي One To Many

تكون Qurey كالتالي:

SELECT * FROM STUDENTS INNER JOIN CLASS ON CLASS.ID = STUDENT.CLASSID

بالتوفيق

تم تعديل هذه المشاركة بواسطة was_hal في 9 يونيو 2010 في 16:16

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#9

أسف على التأخر للرد بسبب عملى

ايه هو الخطأ البيظهرلك ؟

الكود انا جربته و كان شغال تمام

و انا فعلا أقصد مثل أخى was_hal مشرح أنا قولت أكتبلك سطر واحد و انتى تكمليه

و بالنسبة للسؤال الثانى فأعتقد أخى was_hal

جاوب عليه

#10

أشكركم على اهتمامكم بمساعدتي و آسفة لأنه غلبتكم بس الأمر جد ضروري

وأنا ماراح أحكي زبط وهو ما زبط

وأنا طبقتو على جميع الحقول أكيد ولكن نفس المشكلة لا أدري لماذا؟؟؟

أتمنى أن تتسع صدوركم لأسئلتي

الخطأ الذي يظهر على نفس الجملة التي كتبتوها

وكأنه لا يصل الى قاعدة البيانات

حيث يتوقف البرنامج ويظهر هذه الرسالة

Cannot bind to the property or column Stu_No on the DataSource. Parameter name: dataMember

System.ArgumentException was unhandled

Message="Cannot bind to the property or column Stu_No on the DataSource. Parameter name: dataMember"

ParamName="dataMember"

مع العلم أني قمت بتعبأت جدول الطالب بالبيانات في قاعدة البيانات

وكل ما قلتم عنه نفذته وحاولت فيه بس للأسف ما زبط معي

وقاعدة البيانات موجودة في Debug

فما المشكلة فيه ؟؟؟ احترت فيه والله

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

#11

أرفقي البرنامج وإن شاء الله نصل للحل لأنه نظريا لا يوجد خطأ ان شاء الله ...

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#12

أخي السلام عليكم

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

عندما أوقفتها قمت بتشغيل البرنامج فاشتغل وأظهر جميع البيانات من الجدول ولكن حقل رقم الطالب بقي فارغ بسبب أنني أوقفت الجملة عن العمل طبعاً فظهر فارغاً

فما العمل الآن ؟؟؟؟

هل لا أستطيع عرض المفتاح الأساسي أم ماذا؟؟؟؟

ولكم كل الاحترام

ملاحظة في مشكلة عندي في الموقع لا يرضى بعمل أي تنسيق أو ارفاق كل مل يسمح لي به هو الكتابة ؟؟؟؟؟

#13

السلام عليكم

هذا هو الملف شاهده

وألف شكر

وفقك الله وأنار قلبك وعقلك

برنامج المدرسة.rar

#14

جاري التحميل ... سأرد عليك في الحال إن شاء الله

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#15

مشكور على التواصل

والله يوفقك

في انتظار ردك

#16

السلام عليكم أختي

لديك غلطين:

الأول: في قاعدة البيانات انظري إلى اسم عمود رقم الطالب:

post-40855-1276335248359_thumb.jpg

الثاني في الكود:

اسم عمود تاريخ الميلاد في الكود عدليه إلى Stu_Birth_Date

يجب ان نكون دقيقين في اسم الاعمدة

post-40855-1276335360054_thumb.jpg

بالتوفيق

1338031614581.png

" اللهــم إنّا مغلــوبــون فانتصــــر "

(اللهم سبحانك لا علم لنا إلا ما علمتنا إنك أنت العليم الحكيم)

#17

مشكوووووووووووووور أخي

وأخيراً كل شي تمام نفذ البرنامج ولله الحمد

يعجز اللسان عن الشكر والأنامل عن الكتابة

يعطيك ألف عافية وما ننحرم من مساعدتك أنت وكل الأعضاء المميزين مثلك

ومعك حق المفروض نكون أكثر دقة

لكن عندي ما كان ظاهر انو في فراغ في البداية لذلك قمت بمسحه واعادة كتابته مرة أخرى

وأتمنى ما أكون أثقلت عليكم بالسؤال

ولكم كل الاحترام

وجزاك الله عني كل الخير

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

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

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

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

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