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

كيف أربط Querystring مع Sqldatasource Control

بدأه AboMoayad في 31 مارس 2008 · 7 رد · 1,002 مشاهدة · في ASP.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

لعرض بيانات سجل محدد في GridView

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

#2

السؤال غير واضح

ولكن أعتقد ما تريده هو عند الضغط على سجل معين في الGridView تظهر بياناته التفصيلية في الأسفل

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

أولا يجب تحويل أي حقل من الحقول على الأقل إلى TemplateField وبعدها اضغط يمين الماوس على ال GridView واختر من القائمة Edit Template ثم اختر الحقل الذي تم تحويله، عندها تستطيع تغيير - استبدال - الكنترول Label إلى كنترول LinkButton وقم بعدها باختيار الكنترول الجديد واختر من الخصائص Edit DataBinding

من الشاشة التي ستظهر من خيار Text في المربع النصي له اكتب

Eval("اسم الحقل")

ومن خيار CommandArgument في المربع النصي تكتب ما يلي

Eval("اسم حقل المفتاح الرئيسي")

بعد ذلك اضغط على موافق

الآن من خصائص الكنترول نفسه يوجد خيار CommandName اكتب فيه مثلا Select

الآن في الكود في حدث RowCommand الخاص ب GridView

If e.CommandName = "Select" Then

اكتب الكود الذي يقوم باستدعاء البيانات بواسطة جملة SQL Select بشرط CInt(e.CommandArgument)

أعرف أن الشرح ليس كافيا ولكن أعتقد أنه قربك للحل

PMI_Logo_1.jpg

مدير مشاريع محترف - PMP
محلل أنظمة معتمد
مدير فريق برمجة تطبيقات ويب .Net

======|||||=====

======@ @====
==o0o== ( ) ==o0o===
================
كل منا يحتاج إلى الإرادة حتى يستطيع أن يقوم بعمله

#3

عفوا أستاذي الفاضل ..

أنا أستقبل متغير id الموظف يرسل من صفحة AddEmployee.aspx بعد ادخال بياناته

الى صفحة .EditEmployee.aspxلتحرير بياناته داخل GridView

وليس كما ذكرت أني أريد أضعط على Select لعرض البيانات في صفحة أخرى

يعني أريد ان أقرأ المتغير id داخل جملة Select الخاصة بالـ GridView لعرض سجل

الموظف فقط المعني

Select * from where id=request.qyeryString("id")

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

#4
<SelectParameters>
			<asp:QueryStringParameter Name="id" QueryStringField="id" />
		</SelectParameters>
#5

سأطبق حلك أستاذي ( مدني ) ...

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

#6

سؤال آخر يفرض نفسه ..

كيف أقرأ id أثناء بعد عملية SQL_state INSERT

هل استطيع قراءة الـid بعد عملية الإدراج لبيانات موظف

لأنه أريد ان أرسل id لصفحة أخرى كمتغير لقراءة البيانات التي

تم حفظها بغض التعديل او الحذف .. ( لأن الحذف والتعديل في شاشة والإضافة في شاشة اخرى )

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

#7

يمكنك ارجاع مفتاح السجل المضاف باستخدام المتغير @@Identity بحيث يتم اعادته كمخرج Output من الSqlDataSource Insert :

InsertCommand="INSERT INTO Employers (Name,Address) VALUES (@Name, @Address); SELECT @Id = @@Identity"


 		<InsertParameters>
					<asp:Parameter Name="Name" Type="String" />
					<asp:Parameter Name="Address" Type="String" />
					<asp:Parameter Direction="Output" Name="Id" Size="4" Type="Int16" />
				</InsertParameters>

كما تلاحظ فان المدخل Id هو من نوع وسيتم اسناد قيمة المفتاح الجديد اليه مباشرة.لكي تحصل على قيمة هذا المدخل يمكنك التقاط الحدث Inserted الخاص بالSqlDataSource:

 protected void SqlDataSource1_Inserted(object sender, SqlDataSourceStatusEventArgs e)
	{
		if (e.Exception == null && e.AffectedRows == 1)
		{
		Response.Redirect("EditEmployer.aspx?id="+ e.Command.Parameters["@Id"].Value.ToString();
	}
}
#8

رائع كعادتك أستاذ ( مدني )

غدا بإذن الله سأبدأ تطبيق حلولك

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

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