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

مشكلة في التعامل مع Parameters

مغلق
بدأه VIPER_HEAD في 26 أغسطس 2005 · 2 رد · 527 مشاهدة · في لغة Ms Visual Basic 6 وما قبلها من إصدارات
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

أخواني الأعزاء سلام الله عليكم ورحمته وبركاته

كان لي مشاركة من قبل أطلب فيها أن يمدني أحد بشرح لطريقة التعامل مع stored procedure من داخل ال vb

والحمد لله وجدت شرح علي MSDN يشرح كيفية التعامل مع STORED PROCEDURE

تقوم بعمل SELECT ALL دون شرط أي أنها لا تحتاج إلي PARAMETER لكي تعمل

ولكني حاولت تطبيق الشرح مع STORED PROCEDURE تقوم بعمل DELETE أي أنها تحتاج PARAMETER يحمل رقم السجل الذي ستقوم بحذفه

تعمل هذه ال STORED PROCEDURE علي جدول يسمي CUSTOMER يتكون من ثلاثة حقول CODE , NAME , ADDRESS

ولكني واجهت مشاكل في التعامل مع ال PARAMETER من داخل ال VB فأرجو أن تساعدوني في حل هذه المشكلة فلم يتبقي أمامي أي مصدر مساعدة أخر

الكود التالي تم كتابته في SQL SERVER لتكوين ال STORED PROCEDURE

CREATE PROCEDURE dbo.delet (@id int)
AS
delete from customer where code=@id
return
GO

ثم من داخل ال VB سنقوم بالتالي

1-تعريف المتغيرات

Dim cnn As New ADODB.Connection
Dim CMD As New ADODB.Command
Dim RST As New ADODB.Recordset

2- تعريف ال CONNECTION

Private Sub Form_Load()
cnn.Open "provider = SQLOLEDB.1;Integrated Security = SSPI;" & "Initial Catalog = BANK;" & "data source = AHMED "
End Sub

3-خطوات التعامل مع ال STORED PROCEDURE من داخل ذر الحذف

Set CMD.ActiveConnection = cnn
CMD.CommandText = "delet"
CMD.CommandType = adCmdStoredProc

حتي الأن لا توجد مشكلة المشكلة في السطور التالية

CMD.CreateParameter("@id", adSmallInt, adParamInput).Size = 4
CMD.Parameters("@id").Value = " & Trim(Text1.Text) & """

ثم نقوم بفتح ال RECORD SET

RST.Open CMD, cnn, adOpenStatic, adLockReadOnly, adCmdStoredProc

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

تعريف PARAMETER وتحميله بالقيم من TEXT BOX

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

#2

أخواني أرجو ألا تبخلو بالرد

كل ما أطلبه سطرين كود واحد لتعريف ال parameter والأخر لجعله يأخذ القيمة من textbox ويذهب بها إلي stored procedure

فلماذا التأخر في الرد ؟؟؟؟

#3

ارجو ان يفيدك فهو يعمل بنجاح

Dim cat As New ADOX.Catalog

Dim cmd As New ADODB.Command

Dim Conn As New ADODB.Connection

Sub ADOModifyQuery()

'ADO

' Open the catalog

cat.ActiveConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=.\NorthWind.mdb;"

' Get the query

Set cmd = cat.Procedures("Employees by Region").Command

' Update the SQL

cmd.CommandText = "SELECT * FROM Employees WHERE Region = [prmRegion] " & _

"ORDER BY City"

'cmd.Parameters("prmRegion") = "WA"

' Save the updated query

Set cat.Procedures("Employees by Region").Command = cmd

Set cat = Nothing

End Sub

ايضا انا لازلت احاول استبدال جملة"Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=.\NorthWind.mdb;"

بجملة dsn اي ربط قاعدة البيانات عن طريق odbc

ولكني لم اصل الى حل حتى اللحظة نامل من الاخوة الافادة

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

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