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

سوال في كود استعلام بمتغير وشرط

بدأه عبداللةقساس في 5 يناير 2014 · 20 رد · 1,223 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

عند سوال للاخوة المبرمجين المحترمين ونشكرهم م على الاهتمام

الشوال عندي استعلام من قاعدة اكسس 2003 بشرط واير عملتة بكتابة قيمة الشرط رقم(2) اريد اضع متغير بدل الرقم

 

      Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] = 2)", con)

حيث ان الاستعلام يعمل بالرقم المحدد وعند تتغييرة الى متغير لا يعمل احيان يقول الجملة غير صحيحة واحيان عدم تطابق البيانات مع العلم ان نوع البيانات في حقل الجدول عدد صحيح طويل وعملت نوع المتغير انترجر قم انت32 ثم لونج نرجو الافادة ولكم جزيل الشكر

#2

كيف أضفت المتغير في الكود ؟؟

Dim num As Integer = 4
Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] =" + num.ToString + ")", con)

تحياتي  ^_^ 

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#3
bahbah كتب:

كيف أضفت المتغير في الكود ؟؟

Dim num As Integer = 4
Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] =" + num.ToString + ")", con)

تحياتي  ^_^

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

#4
bahbah كتب:

كيف أضفت المتغير في الكود ؟؟

Dim num As Integer = 4
Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] =" + num.ToString + ")", con)

تحياتي  ^_^

المعذرة ولو ثقلنا عليك استاذي العزيز

 الكود لم يضبط معي سوف اوضح لك اكثر

اولا المتغير id معرف كما يلي في التعريفات العامة فورم 2

   Public id As Integer

ياخذ قيمتة من حدث زر في نموذج اخر رقم1 كمايلي

  Form2.Show()

        Form2.id = OpratinidTextBox.Text

هذا التكست في النموذج1

OpratinidTextBox

وياخذ قيمتة من نفس الجدول ونفس الحقل Opratinid

وحدث السيلكت موضوع في تحميل الفورم2 كمايلي

      Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([opratinid] = " + id.ToString + ")", con)

   ds.Clear()

        con.Open()

        data.Fill(ds, "ccmm")

        oprationBindingSource.DataSource = ds

        oprationBindingSource.DataMember = ("ccmm")

        con.Close()

        Me.ReportViewer1.RefreshReport()

النموذج هذا رقم 2 فية ReportViewer1

عندما اطبق الكود بعد تعديلك لا يعطي رسالة خطا بس ايضا ما يعطي بيانات

برغم انة اذا ازيل الشرط وير يعطي البيانات كاملة التي في الجدول وهذا سليم

و اذا وضع رقم في الشرط يعطي البيانات الخاصة بالرقم المدخل وهذا ايضا سليم

يعني المشكلة في المتغير

ولكي اتاكد ان المتغير ياخذ قيمتة صح عملت تكست بوكس وزر في الفورم2 وعملت الحدث التالي

  TextBox1.Text = id

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

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

ولارقام المدخلة للمتغير جميعها موجودة في الجدول في حقل شرط وير المسمى Opratinid

والمعذرة استاذي العزيز لو طولنا عليك الشرح الغرض ايصال الفكرة حتى تتمكن من الاجابة

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

#5

أتمنى إرفاق المثال .. لكي أفهم الشرح جيداً  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#6
bahbah كتب:

أتمنى إرفاق المثال .. لكي أفهم الشرح جيداً  ^_^

ساحاول رفع المشروع الان رغم اني لا اعرف طريقة الرفع

#7

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

محاولة.zip

#8

الملفات ناقصة !!

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#9

استاذي العزيز اليك الملفات واتمنى ان تكون كاملة والمعذرة كوني اول مرة ارفع ولا ادري ايش الملفات المطلوبة

newrep.zip

#10

لا أعلم لماذا لا يعمل معي !!

دائماً يقول أنه هناك خطأ في الـForm1 ..

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#11
bahbah كتب:

كيف أضفت المتغير في الكود ؟؟

Dim num As Integer = 4
Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] =" + num.ToString + ")", con)

تحياتي  ^_^

استاذي العزيز الكود مضيوط بس كان عندي خطا حيث اني كان عندي كود عرض النموذج قبل تعبئة المتغير والباتالي يتم تنفيذ واير على شرط فارغ وبالتالي لا يعطي بيانات اسف جدا على ازعاجك بس اذا عندك فرصة بس توضح لي شرح ما معنى الا اضافة التي ضفتها كي نستفيد من خبرتك وبستفيد الجميع منها وجزاك الله الف الف خير  " + num.ToString + "

هذا الذي مطلوب شرحة ولك مني خالص الشكر والتقدير

#12

نرفع المشروع لكي يستفيد الجميع

nnn.zip

تم تعديل هذه المشاركة بواسطة عبداللةقساس في 6 يناير 2014 في 19:35

#13
عبداللةقساس كتب:

استاذي العزيز الكود مضيوط بس كان عندي خطا حيث اني كان عندي كود عرض النموذج قبل تعبئة المتغير والباتالي يتم تنفيذ واير على شرط فارغ وبالتالي لا يعطي بيانات اسف جدا على ازعاجك بس اذا عندك فرصة بس توضح لي شرح ما معنى الا اضافة التي ضفتها كي نستفيد من خبرتك وبستفيد الجميع منها وجزاك الله الف الف خير  " + num.ToString + "

هذا الذي مطلوب شرحة ولك مني خالص الشكر والتقدير

 

بما أن هناك متغير رقمي ونريد إضافته إلى نص .. كيف ؟

 

طبعاً لو وضعنا المتغير مع إشارة الإضافة + .. ستتفاجئ بخطأ (أي كيف يقوم البرنامج بجمع نص مع رقم !!!) ..

 

لذلك علينا تحويل المتغير إلى نص أولاً ثم إضافته إلى النص السابق ..

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#14
bahbah كتب:

بما أن هناك متغير رقمي ونريد إضافته إلى نص .. كيف ؟

 

طبعاً لو وضعنا المتغير مع إشارة الإضافة + .. ستتفاجئ بخطأ (أي كيف يقوم البرنامج بجمع نص مع رقم !!!) ..

 

لذلك علينا تحويل المتغير إلى نص أولاً ثم إضافته إلى النص السابق ..

 

تحياتي  ^_^

عفوا استاذي العزيز ولكن المتغير رقم والحقل ايضا رقم لا يوجد نص

#15

لا !!

 

لم أقصد نوع الحقل .. ولكن عند إستعمال OleDbDataAdapter ...

 

يطلب من عندك مدخلات من نوع نص !!

 

وأقصد بذلك هذه الجملة ..

"SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] ="

إذ هذه الجملة نصية .. ونريد أن نضيف إليها رقم ...

نقوم أولاً بتحويله إلى نص ثم نضيفه إلى هذه الجملة لتكتمل الجملة ..

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#16
bahbah كتب:

لا !!

 

لم أقصد نوع الحقل .. ولكن عند إستعمال OleDbDataAdapter ...

 

يطلب من عندك مدخلات من نوع نص !!

 

وأقصد بذلك هذه الجملة ..

"SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] ="

إذ هذه الجملة نصية .. ونريد أن نضيف إليها رقم ...

نقوم أولاً بتحويله إلى نص ثم نضيفه إلى هذه الجملة لتكتمل الجملة ..

 

تحياتي  ^_^

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

تم تعديل هذه المشاركة بواسطة عبداللةقساس في 7 يناير 2014 في 16:09

#17
عبداللةقساس كتب:

استاذي العزيز الكود مضيوط بس كان عندي خطا حيث اني كان عندي كود عرض النموذج قبل تعبئة المتغير والباتالي يتم تنفيذ واير على شرط فارغ وبالتالي لا يعطي بيانات اسف جدا على ازعاجك بس اذا عندك فرصة بس توضح لي شرح ما معنى الا اضافة التي ضفتها كي نستفيد من خبرتك وبستفيد الجميع منها وجزاك الله الف الف خير  " + num.ToString + "

هذا الذي مطلوب شرحة ولك مني خالص الشكر والتقدير

استاذي العزيز اسف للازعاج بس بقي استفسار بسيط اذا كان المتغير نصي او تاريخ هلة طريقة غير tostring وماهي جزاك الله الف الف خير

#18

لم أفهم جيداً ما هو المطلوب !!

 

ولكن أظن أنك تقصد التحويلات .. في الفيجوال بيسك هناك دوال لتحويل الأنواع مثلاً : من نص إلى رقم .. وهكذا ..

 

وهذا رابط به جميع دوال التحويل : 

http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#19
bahbah كتب:

لم أفهم جيداً ما هو المطلوب !!

 

ولكن أظن أنك تقصد التحويلات .. في الفيجوال بيسك هناك دوال لتحويل الأنواع مثلاً : من نص إلى رقم .. وهكذا ..

 

وهذا رابط به جميع دوال التحويل : 

http://msdn.microsoft.com/en-us/library/s2dy91zy.aspx

 

تحياتي  ^_^

المقصود عندي استعلام شبية بالستعلام السابق الي هو

Dim data As New OleDbDataAdapter("SELECT opratinid, comdis, non, customer FROM opration WHERE ([customer] =" + num.ToString + ")", con) بس الان المتغير نص او تاريخ ماذا استعمل بدل " + num.ToString + " اشكرك شكر جزيل وجزاك الله الف الف الف خير

#20

إذا كان تاريخ تحوله بخاصية ToString ..

 

أما إذا كان نص لن تحتاج لتحويله .. أي فقط تكتب + اسم المتغير + بدون تحويل وبدون خاصية ToString ..

 

تحياتي  ^_^

رجعت ومازال الفريق خاملاَ  :( 


 


abPuw.1.gif

#21
bahbah كتب:

إذا كان تاريخ تحوله بخاصية ToString ..

 

أما إذا كان نص لن تحتاج لتحويله .. أي فقط تكتب + اسم المتغير + بدون تحويل وبدون خاصية ToString ..

 

تحياتي  ^_^

جزاك الله الف الف خير استاذي العزيز

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