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

مشكلة مع الباراميتار

مغلق
بدأه Ashraf_k_s في 16 مايو 2005 · 4 رد · 580 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لدي جدول يسمى CUST

قمت بعمل إجراء مخزن لإدخال بيان

في الحقل CustCode

فيقوم بعرض كل الحقول

التي تحتوي على ذلك الحقل

ولكن المشكلة

كيف يمكنني تمرير البيانات من فيجوال بيسك 6 الى الإجراء ؟

CREATE PROCEDURE SPCust
	(@Code int)
AS SELECT * FROM CUST WHERE CustCode = @code

ثم بعد ذلك كيف يمكن إظهار النتائج

بمعنى هل اتعامل مع الإجراء المخزن

كما لو كنت أتعامل مع جدول عادي

لعرض النتائج من خلال فليكس جريد مثلا

RS.Open"SPCust",CN, adOpenStatic, adLockReadOnly

وشكرا

أخوكم أشرف الشباسي

تم تعديل هذه المشاركة بواسطة walcom في 30 نوفمبر 2005 في 20:54

#2

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

أرجو نقل الموضوع لقسم VB حتى ينتبه الإخوة للسؤال ويقوموا بالرد على الأخ الكريم

#3

لا اتعامل الان مع VB6 و لكن كحل عليك اولاً ان تحسب ال RowCount لعدد الصفوف التى سيعيدها ال SP ثم قم بعمل عدد من ال Rows فى ال MS FlexGrid مساو لعدد الصفوف التى ستعود من التنفيذ

ثم قم بعمل دوارة Loop تضيف كل Recordset لل MS FlexGrid Row

و لكنى اتسائل ما الذى جعلك تستخدم ال SP لإرجاع سجلات لماذا لم تستخدم ال UDF حيث اننا نعتمد على ال SP فى ال DML كعمليات ال Insert و ال Update و ال Delete و ال Select

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#4
اقتباس
كيف يمكنني تمرير البيانات من فيجوال بيسك 6 الى الإجراء

بدل هذا السطر :

RS.Open"SPCust",CN, adOpenStatic, adLockReadOnly

ليكون:

dim SQL as string
SQL="exec SPCust " & str(myalues)
RS.Open SQL,CN, adOpenStatic, adLockReadOnly

اقتباس
ثم بعد ذلك كيف يمكن إظهار النتائج

بمعنى هل اتعامل مع الإجراء المخزن كما لو كنت أتعامل مع جدول عادي لعرض النتائج من خلال فليكس جريد مثلا

إضافة للطريقة التي ذكرها الأخ طارق

قم بتنفيذ جملة select count لترجع لك عدد السجلات المطابقة، والتي على أساسها ستقوم بتجهيز الFlex grid ، مثلا:

SQL="SELECT count(*) as the_count FROM CUST WHERE CustCode =" & Str(myValue) 
set rs=cn.execute(SQL)
me.MSFlexGrid.rows=rs!the_count 
rs.close()

بالتوفيق بإذن الله :)

تم تعديل هذه المشاركة بواسطة walcom في 17 مايو 2005 في 15:17

فكر بطريقة أخرى

#5

ممتازززززززززززززززززززززززززززززززز يا walcom

سبحان الله و بحمده سبحان الله العظيم

أبو كريم و مازن و نور

vb.net - c# - asp.net - oracle - sql server

manager@tm-center.com

00966508268649

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

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