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

ربط جملة ٍSelect مع dataAdapter

مغلق
بدأه فلسطيننا في 25 ديسمبر 2006 · 7 رد · 1,046 مشاهدة · في ADO.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم ورحمة الله وبركاته

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

أخواني الأعزاء عندي جدولين هما الفاتورة والتفاصيل الخاصة بها الان أريد عرض الجدولين بحيث اذا تحركت من الفاتورة الأولى الى الأخرى يتم عرض البيانات في dataGridView

فعملت هذه الجملة وهي كالتالي

Private strBillBuys As String = "SELECT BillBuys.BillNo, BillBuys.SuppNo, BillBuys.BillDate, BillBuys.TotalAmount, BillBuys.Discount, BillBuysDetails.TrdNo, BillBuysDetails.BuyPrice,BillBuysDetails.SalePrice, BillBuysDetails.Quantity, BillBuysDetails.Unit FROM  BillBuys INNER JOIN BillBuysDetails ON BillBuys.BillNo = BillBuysDetails.BillNo where BillBuys.BillNo = " & CInt(Me.txtBillNo.Text.Trim)

وقمت بالربط هكذا

وهذا ما جعلته في حدث load الخاص بالنموذج

SqlCon.ConnectionString = ConString
			DABillBuys = New SqlClient.SqlDataAdapter(strBillBuys, SqlCon)

			ds.Clear()
			DABillBuys.Fill(ds, "BillBuys")
			'  ADP2.Fill(ds, "BillBuysDetails")
			Me.BindingSourceBillBuy.DataSource = ds
			Me.BindingSourceBillBuy.DataMember = "BillBuys"
			Me.BindingNavigatorBillBuy.BindingSource = Me.BindingSourceBillBuy

ملاحظة هامة ::: عندما أقوم باعطاء قيمة الى billNo يعني قيمة مباشرة يعطيني النتيجة اما ان قمت بأعطائه بالشكل السابق يعطيني رسالة وهي الأتية

اظن والله اعلم ان المشكلة في كيف امرر جملة select الى DABillBuys في الجملة

DABillBuys = New SqlClient.SqlDataAdapter(strBillBuys, SqlCon)

ارجو الافادة

post-65690-1167009173_thumb.jpg

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#2

لماذا تستخدم :

CInt(Me.txtBillNo.Text.Trim)

أولا مالو داعي استخدام CInt ,, ثانيا : ليه بتستخدم Trim مع عدد

الحل : استبدلها بالآتي :

  Val(txtBillNo.Text)

تم تعديل هذه المشاركة بواسطة Scoool في 25 ديسمبر 2006 في 07:27

#3

أولا - لم تذكر كيف قمت بتعريف DABillBuys

ثانيا - - بغض النظر عن عبارة تعريف DABillBuys عندك قم بإلغائها و عدل السطر

DABillBuys = New SqlClient.SqlDataAdapter(strBillBuys, SqlCon)

إلى

Dim DABillBuys As New SqlClient.SqlDataAdapter(strBillBuys, SqlCon)

وخبرنا شو بيصير معك

عن عائشة رضي الله عنها أن النبي صلى الله عليه وسلم قال: إن الله يحب إذا عمل أحدكم عملا أن يتقنه

نعيب زماننا والعيب فينا ... وما لزماننا عيب سوانا

ونهجو ذا الزمان بغير ذنب ... ولو نطق الزمان لنا هجانا

محمد سامر أبو سلو

#4

السلام عليكم

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

اولا أخي اانا لا يوجد عندي مشكلة في الاتصال مع قاعدة البيانات .... ثانيا انا أعرض في dataGrdiView وبشكل جميل جداً

ولكن ما أريد هو عندما أتحرك(أي أعرض بيانات فاتورة ) من فاتورة إلى أخرى أن يقوم بعرض البيانات الخاصة بالفاتورة لوحدها في DataGridView ....

وانا قد أشرت أين مشكلتي

وهي كيف أريد أن أحمل

Private strBillBuys As String = "SELECT BillBuys.BillNo, BillBuys.SuppNo, BillBuys.BillDate, BillBuys.TotalAmount, BillBuys.Discount, BillBuysDetails.TrdNo, BillBuysDetails.BuyPrice,BillBuysDetails.SalePrice, BillBuysDetails.Quantity, BillBuysDetails.Unit FROM  BillBuys INNER JOIN BillBuysDetails ON BillBuys.BillNo = BillBuysDetails.BillNo where BillBuys.BillNo = " & CInt(Me.txtBillNo.Text.Trim

)

داخل DABillBuys

فأنا عندما قمت بتحميل الجملة التالية قام بعرض بيانات الفاتورة في الDatagridView

Private strBillBuys As String = "SELECT BillBuys.BillNo, BillBuys.SuppNo, BillBuys.BillDate, BillBuys.TotalAmount, BillBuys.Discount, BillBuysDetails.TrdNo, BillBuysDetails.BuyPrice,BillBuysDetails.SalePrice, BillBuysDetails.Quantity, BillBuysDetails.Unit FROM  BillBuys INNER JOIN BillBuysDetails ON BillBuys.BillNo = BillBuysDetails.BillNo where BillBuys.BillNo=1 = "

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

post-65690-1167043814_thumb.jpg

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#5

السلام عليكم

فى الوصلة التالية يوجد شرح فيديو لى عن طريقة التنقل بين السجلات فى شاشة الفاتورة

التنقل بين السجلات

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#6

السلام عليكم ....

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

أخواني مشكورين جميعا على ردودكم .....

ارجو قراءة ما أردته .... انا ما بدي سو اعرف كيف اعبي StringBillBuys داخل dabillbuys بشرط ان يكون مع txtbillno

هذا ما اريده لا اكثر ولا أقل

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

#7

السلام عليكم

اقتباس
ملاحظة هامة ::: عندما أقوم باعطاء قيمة الى billNo يعني قيمة مباشرة يعطيني النتيجة اما ان قمت بأعطائه بالشكل السابق يعطيني رسالة وهي الأتية
هذا يقودنا لتصور واحد فقط وهو أن قيمة جملة الاستعلام تسند في حدث لم تتمكن من الوصول له أكثر من مرة

يفترض أن يكون في اجراء يقبل ممرر واحد وهو القيمة التي يعول عليها البحث أو جملة الاستعلام , مثلاً .

Private Sub LoadData(ByVal CustomerID As String)
		Dim strSQL As String = _
		"SELECT  O.OrderID, O.OrderDate, O.RequiredDate " & _
		"FROM Customers C INNER JOIN Orders O ON C.CustomerID " & _
		"= O.CustomerID where C.CustomerID = '" & CustomerID & "'"
		Using sqlcnn As New SqlConnection(My.Settings.cnn)
			Using sqlAdapter As New SqlDataAdapter(strSQL, sqlcnn)
				NorthwindDataSet.Orders.Clear()
				sqlAdapter.Fill(NorthwindDataSet, "Orders")
				With OrdersDataGridView
					.DataSource = NorthwindDataSet
					.DataMember = "Orders"
				End With
			End Using
		End Using
	End Sub

ثم كما تعلم ان تنادي الاجراء بهذا الشكل في كل مرة تريد جلب بيانات جدول الابن.

 Private Sub Button1_Click(ByVal sender As System.Object, _
	ByVal e As System.EventArgs) Handles Button1.Click
		LoadData(lblCustomerID.Text.Trim)
	End Sub

الكود لديك صحيح من حيث الربط, ولكن هنالك ما يغني عن هذا النوع من الدمج,

فلا أدري لماذا تفضل هذا النوع رغم ان النصائح و الارشادات تدندن على استخدام العناصر المتوفرة في بيئة الدونت , من اجل ربط العناصر عِوضاً

عن هذه الطريقة الكلاسيكية القديمة.

تمعن في الاحداث لربما هي تكون من تسببت في تعطيل المشروع.

ملاحظة: وضعة العلامة النصية بين قيمة ممرر الاجراء , كون الـ CustomerID هو ذو قيمة نصية لا رقمية.

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

في المثال يتضح المقال

#8

اخي الكريم مشكوور وبارك الله فيك ان شاء تفرج هذه المشكلة عندي

رَبِّ لَا تَذَرْنِي فَرْداً وَأَنتَ خَيْرُ الْوَارِثِينَ

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

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