منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : الفزعة ياجماعة الخير ... إضافة Parameter لل sqlcommadn
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
بسم الله الرحمن الرحيم


اخوتي
طالبكم


مشكلة صغيرة


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

ما اطول عليكم

هذا مثال
PHP كود :
With _Command
            
.CommandType CommandType.StoredProcedure
            
.Connection _Connection
            
.CommandText "Fill_Box_Employess"
 
           .Parameters.AddWithValue("@ID"CInt(ID))
 
       End With 
           .Parameters.AddWithValue("@ID", CInt(ID))
هذي طريقتي لأضافة Parameter

هنه شغال ميه ميه

الان في عندي عدة قيم

ومضطر لأضافة عدة باراميترس


المهم

قمت بأضافة ArrayList 
وحفظ القيم فيها

وقمت بعمل Loop من شان اضيف الباراميترس

كما هو موضح اسفلة

PHP كود :
With _Command
            
.CommandText Procedure_Name
            
.CommandType CommandType.StoredProcedure
            
.Connection _Connection

            For i 
0 To infor.Count 1
                
.Parameters.AddWithValue("@" infor.Item(i).ToString(), infor.Item(i))
 
           Next

        End With 

ومهما حاولت استخدم طرق اخرى

مافي فايدة تجي نفس الرسالة

PHP كود :
Additional informationProcedure or function 'Insert_Data_to_Employee2' expects parameter '@Employee_FullName'which was not supplied
 
افيدونا 
لطريقة اضافة الباراميترس 
عن طريق LOOP

شكرا Huh
1- هل يوجد في الجدول pk?
2- هل اسماء الحقول هي نفسها محتويات المصفوفة؟
غريب كود الاضافة في جملة التكرار جداً
(20-09-16, 03:38 AM)HASAN6.0 كتب : [ -> ]جرب

For i = 0 To infor.Count - 1
               .Parameters.AddWithValue("@" + infor.Item(i).ToString().trim, infor.Item(i))
           Next

جربتها اخي الكريم ..  نفس المشكلة

يعني انا اضفت Parameters بطريقة الكتابة يعني واحد واحد

واشتغلت طبيعي

وكما تعلمون ان اسماء ال Parameters ، مش ضروري تكون نفس اسمائها في storedProcedure يعني مش مشكلة الاسم اهم شي الترتيب

(20-09-16, 06:06 AM)أبو عمر كتب : [ -> ]1- هل يوجد في الجدول pk?
2- هل اسماء الحقول هي نفسها محتويات المصفوفة؟
غريب كود الاضافة في جملة التكرار جداً

اولاً : نعم في PK ، بس هو Auto Increment يعني ، مافي داعي له ، هو ينضاف بالتكرار
ثانياً :  نعم بس مضاف لها رمز ال@ ، وما  اظن ان فيها مشكلة فحتى لو كان اسم الباراميتر نفس الاسم ، المهم الترتيب
ثالثاً : ماغريبة الا الشيطان  Tongue

السؤال  الأهم هل يمكننا إضافة ال Parameters عن طريق Loop ام لا؟
اذا شغال على اكسس ارفع مثال بسيط نطقطق عليه
Sad
لا تمشورني للاوفيس ولا ل SQL
(20-09-16, 03:24 PM)أبو عمر كتب : [ -> ]اذا شغال على اكسس ارفع مثال بسيط نطقطق عليه
Sad
لا تمشورني للاوفيس ولا ل SQL

اخي العزيز .

للاسف البرنامج SQLSERVER
بس مش مشكلة

جرب انت اي شي

جدول مثلا حقول
FNAME
LNAME
DOB
ADDRESS

صنعت StoredProcedure
insert into Tablename (fname,lname,dob,address) values (@FN,@LN,@DB,@add)

انا اريد في ال vb.net
اصنع الباراميترس باستخدام التكرار LOOP

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


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

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


لازم ننتبه لهذا الاختلاف
السلام عليكم

اخي العزيز ضع السطر التالي
كود :
.Parameters.Clear()

قبل السطر
كود :
End With

تحياتي...