<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>مدونة النبهاني &#187; parameters</title>
	<atom:link href="http://alnabhani.wordpress.com/tag/parameters/feed/" rel="self" type="application/rss+xml" />
	<link>http://alnabhani.wordpress.com</link>
	<description>أحدث مواضيعي البرمجية والتقنية</description>
	<lastBuildDate>Sat, 28 Nov 2009 17:05:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>ar</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='alnabhani.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/91abf77f7c013d66c6f253d8802f990d?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>مدونة النبهاني &#187; parameters</title>
		<link>http://alnabhani.wordpress.com</link>
	</image>
			<item>
		<title>استخدام Parameters في ADO.NET لتبادل البيانات مع قاعدة البيانات &#8211; الجزء الثاني</title>
		<link>http://alnabhani.wordpress.com/2008/09/26/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af-2/</link>
		<comments>http://alnabhani.wordpress.com/2008/09/26/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af-2/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 12:44:00 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة قواعد البيانات ADO.NET]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[parameters]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2008/09/26/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af-2/</guid>
		<description><![CDATA[في الجزء الاول من هذا الدرس تكلمنا حول اهميه الباراميترات وفوائدها ، اما الآن فنأتي الى كيفية استخدامها .     في هذا الدرس لن اطول كثيرا في الحديث ، فقط نذكر كيفيه استخدام الباراميترات ونذكر بعض الاكواد والامور المتعلقه بها . 

 
الكود التالي يقوم بتمرير باراميتر يحمل الاسم ProductName@ الى الاستعلام [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=106&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><b>في الجزء الاول من هذا الدرس تكلمنا حول اهميه الباراميترات وفوائدها ، اما الآن فنأتي الى كيفية استخدامها .</b>     <br /><b>في هذا الدرس لن اطول كثيرا في الحديث ، فقط نذكر كيفيه استخدام الباراميترات ونذكر بعض الاكواد والامور المتعلقه بها .</b> </p>
</p>
<p> <span id="more-106"></span>
<p><b>الكود التالي يقوم بتمرير باراميتر يحمل الاسم ProductName@ الى الاستعلام الموجود في الكائن cmd :</b></p>
</p>
<table cellspacing="0" cellpadding="2" width="512" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="510">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT ProductID, ProductName FROM Products WHERE ProductName = @ProductName &quot;              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">cmd</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">SqlCommand</font><font color="#000000">(sql,</font><font color="#808080">&#160;</font><font color="#000000">conn)</font><font color="#808080">&#160;</font><font color="#006400">&#8216;orDim cmd as New OleDbCommand(sql, conn)              <br /></font><font color="#000000">cmd.Parameters.AddWithValue(</font><font color="#808080">&quot;@ProductName&quot;</font><font color="#000000">,</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text)</font> </div>
<p>&#160;&#160; </td>
</tr>
</tbody>
</table>
<p>اذا جربت ادخال اي من القيم التاليه في TextBox1 فسيعمل الكود بلا مشاكل ولن تحدث اي اخطاء بمشيئه الله :</p>
</p>
<table cellspacing="0" cellpadding="2" width="514" border="1">
<tbody>
<tr>
<td valign="top" width="512">
<div class="code" dir="ltr">chef            <br />Chef Anton&#8217;s             <br />x&#8217; INSERT Employees (FirstName,LastName) VALUES(&#8216;get here?&#8217;,'How did this&#8217;) &#8212; </div>
</td>
</tr>
</tbody>
</table>
<p>الآن سنشرح الكود حبه حبه :    <br /><b>1- في السطر الأول تم انشاء متغير نصي جديد واسندنا له جمله الاستعلام المطلوبة واهم ما فعلناه هو اننا وضعنا بدلا من قيمه الحقل ProductName القيمه ProductName@ والتي تمثل اسم الباراميتر الذي سنمرره للكائن Parameter .</b>     <br /><b>2- في السطر الثاني انشأنا كائن جديد من النوع SQLCommand ولك حريه نوعه على حسب قاعدة البيانات فيمكن ان يكون OleCommand او OracleCommand على حسب نوع قاعدة البيانات .</b>     <br /><b>3- في السطر الثالث قمنا بإضافه باراميتر جديد الى مصفوفة الباراميترات التي تتبع الكائن cmd ، وهنا استخدمنا طريقة مباشره لتعريف الباراميترات وهي اننا اضفناه عن طريق الطريقة AddWithValue ومررنا له القيم المطلوبه .</b>     <br /><b>المهم في السطر الثالث هنا هوه اننا وضعنا اسم الباراميتر المراد ارسال قيمته وهي ProductName@ ووضعنا القيمه الخاصه به وهي النص الموجود في الخاصيه Text التابعه للكائن textBox1 .</b>     <br /><b>الباراميترات داخل جمل الاستعلام SQL :</b>     <br /><b>وبالنسبه لتسميه المتغيرات في جمل الاستعلام SQL يمكنك ان تضع اي اسم تشاء ، ابعد عن الاسماء العربية ، لا تستخدم الارقام ، ولا تضع الاسم بين حاصرتين ولا مسافات . ويفضل لو يبدأ بالرمز @ لتسهل على نفسك قراءه الكود لاحقا ولتعرف مباشره ان تلك الكلمه هي اسم لباراميتر بمجرد وجود @ </b>    <br /><b>تسميه الباراميتر تتيح لنا تمرير واستلام قيم اكثر من باراميتر واحد ، فيمكنك انشاء عدد من الباراميترات وكل منها له اسم معين وعند اضافتها الى المصفوفة Parameters ستقوم بارسال كل قيمه مع اسم الباراميتر فتتجنب اي مشكله بخصوص الباراميترات ، </b>    <br /><b>بعض المبرمجين قد يضع العلامة ? بدلا من قيمه كل حقل ويستخدمها مع كل الحقول ، وبالتالي سيكون لكل الباراميترات الاسم نفسه ، في هذه الحاله يجب ان تضيف كل باراميتر وقيمته الى مصفوفة الباراميترات Parameters التابعه للكائن cmd بالترتيب، مع ذلك ، انا لا احبذ هذه الطريقة مطلقا .</b>     <br /><b>الكائن Parameter :</b>     <br /><b>حتى يكتمل حديثنا عن البارميترات ، احببت ان تكلم عن الكائن Parameter .</b>     <br /><b>يمكننا انشاء باراميتر جديد بالصيغه التالية :</b></p>
</p>
<table cellspacing="0" cellpadding="2" width="510" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="508">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">ProductNameParameter</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">SqlClient.SqlParameter</font><font color="#808080">              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">ProductNameParameter</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">OleDb.OleDbParameter</font><font color="#808080">              <br /></font></div>
</td>
</tr>
</tbody>
</table>
<p><b>طبعا الكود السابق هو مثال لكيفية انشاء باراميتر جديد خاص بـ SQL او باكسس . الغرض منه ان تعرف ان الكائن Parameter يتبع احد انواع مزودات قواعد البيانات في ADO.NET .</b></p>
<p><b>في الكود التالي قمنا بتعريف باراميتر بالإسم ProductNameParameter واسناد قيمه ونوع له : </b></p>
</p>
<table cellspacing="0" cellpadding="2" width="515" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="513">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">cmd</font><font color="#808080">&#160;</font><font color="#000000">AsNew</font><font color="#808080">&#160;</font><font color="#000000">Data.SqlClient.</font><font color="#2b91af">SqlCommand</font><font color="#000000">(sql,</font><font color="#808080">&#160;</font><font color="#000000">conn)</font><font color="#808080">&#160;</font><font color="#006400">&#8216;orDim cmd as New OleDbCommand(sql, conn)              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">ProductNameParameter</font><font color="#808080">&#160;</font><font color="#000000">AsNew</font><font color="#808080">&#160;</font><font color="#000000">Data.SqlClient.SqlParameter</font><font color="#808080">              <br /></font><font color="#0000ff">With</font><font color="#808080">&#160;</font><font color="#000000">ProductNameParameter</font><font color="#808080">              <br /></font><font color="#000000">.ParameterName</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;@ProductName&quot;              <br /></font><font color="#000000">.Value</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">Textbox1.Text</font><font color="#808080">              <br /></font><font color="#000000">.SqlDbType</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">SqlDbType.NText</font><font color="#808080">              <br /></font><font color="#000000">EndWith</font><font color="#808080">              <br /></font><font color="#000000">cmd.Parameters.Add(ProductNameParameter)</font> </div>
</td>
</tr>
</tbody>
</table>
</p>
<p>&#160;</p>
<p><b>فكما رأينا هذه احدى الطرق الكثير لانشاء باراميتر وتمرير قيمته الى الاستعلام بصيغه جمل SQL . ومن الكود السابق تبرز الخصائص الثلاث التالية : </b></p>
<ul>
<li>ParameterName : وهي خاصيه من النوع String ويجب ان تسند لها اسم الباراميتر الذي وضعته في جمله الاستعلام . </li>
<li><b>SqlDBType : وهي خاصيه تقوم بتحديد نوع قيمه البارميتر من خلالها ، وهي تختلف باختلاف نوع مزود قاعدة البيانات للباراميتر ، فلو كانت SQL كحالتنا هذه ستكون SQLDBType ولو كانت تتبع OleDB ستكون OleDBType وهكذا .</b> </li>
<li><b>Value : وهذه الخاصيه تمثل قيمه الباراميتر .</b> </li>
</ul>
<p> <b><b>لمن يريد التوسع حول الانواع الممكنه للباراميترات والتي نسندها للخاصيه Type يمكن زياره <a href="http://msdn2.microsoft.com/en-us/library/system.data.oledb.oledbtype(VS.71).aspx">الرابط التالي </a>في حاله OleDB او <a href="http://msdn2.microsoft.com/en-us/library/system.data.dbtype(VS.71).aspx">الرابط التالي</a> في حاله SQL .</b></b>
<p><b>طبعا من الممكن لأي مبرمج ان يختصر الكود السابق كثيرا باستخدام احد المشيدات Construcotrs الخاصه بالكائن Parameter عند انشاء نسخه جديده منه بالذاكره ، لكن ما لا اعرف سببه حتى الان هو عدم وجود مشيد يستقبل قيم الخصائص الثلاث السابقه معا ! ولكن بالطريقة التالية يمكنك فعلها :</b></p>
<table cellspacing="0" cellpadding="2" width="500" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="500">
<div class="code"><font color="#000000">Command.Parameters.Add(</font><font color="#808080">&quot;@SerialNum&quot;</font><font color="#000000">,</font><font color="#808080">&#160;</font><font color="#000000">OleDbType.</font><font color="#0000ff">Integer</font><font color="#000000">).Value</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#800000">239</font> </div>
</td>
</tr>
</tbody>
</table>
<p><b>كود أخير اضيفه في هذا الجزء لمن يرغب بإرشاد لمعرفه كيفيه انشاء اكثر من باراميتر واحد والتعامل معها :</b></p>
</p>
<table cellspacing="0" cellpadding="2" width="511" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="509">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT FirstName,LastName FROM Employees&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">_</font><font color="#808080">              <br />&quot; WHERE HireDate BETWEEN @StartDate AND @EndDate&quot; </font></div>
</td>
</tr>
</tbody>
</table>
Posted in برمجة قواعد البيانات ADO.NET Tagged: ado.net, parameters <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=106&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/09/26/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af-2/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>استخدام Parameters في ADO.NET لتبادل البيانات مع قاعدة البيانات &#8211; الجزء الأول</title>
		<link>http://alnabhani.wordpress.com/2008/09/19/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af/</link>
		<comments>http://alnabhani.wordpress.com/2008/09/19/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af/#comments</comments>
		<pubDate>Fri, 19 Sep 2008 13:19:04 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[تقنية عامة]]></category>
		<category><![CDATA[ado.net]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/2008/09/19/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af/</guid>
		<description><![CDATA[
السلام عليكم ورحمه الله وبركاته    سنتكلم اليوم عن موضوع مهم في قواعد البيانات والتعامل معها &#8230; سنتكلم عن الكائن Parameters التابع لأي فئة Command في اي فئة تتبع فضاء الأسماء Data سواء كانت OleDB او SQL او Oracle &#8230; او غيرها من من الفئات والكائنات .     مقدمة : [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=100&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /></p>
<p>السلام عليكم ورحمه الله وبركاته    <br /><b>سنتكلم اليوم عن موضوع مهم في قواعد البيانات والتعامل معها &#8230; سنتكلم عن الكائن Parameters التابع لأي فئة Command في اي فئة تتبع فضاء الأسماء Data سواء كانت OleDB او SQL او Oracle &#8230; او غيرها من من الفئات والكائنات .</b>     <br /><b>مقدمة : </b>    <br /><b>في أي تطبيق يعتمد على قواعد البيانات ، تبرز أهميه ارسال الباراميترات Parameters الى قاعدة البيانات ، وغالبا ما يتم ذلك عن طريق جمل الإستعلام SQL Statements حتى وقت كتابة هذه المقالة ( قريبا سنستخدم Linqمع VS2008 ) ومنهم من يفضل حفظ الاستعلاما في قاعدة البيانات والاكتفاء بمخاطبتها وارسال الباراميترات اليها واستقبال نواتجها على التطبيق .</b> </p>
<p>&#160;</p>
<p> <span id="more-100"></span>
<p><b>نستخدم الباراميترات في اغلب الحالات لعميات مختلفه ، كالبحث ، والمعايره من الجداول والاستعلامات الموجوده ، فمثلا الكود التالي يقوم بالبحث في الجدول Products واظهار الحقول ProductID و ProductName بشرط ان تكون الـ ProductName تبدأ بقيمه نصيه معينه يحددها المستخدم بكتابتها في مربع النص TextBox1 :</b></p>
<table cellspacing="0" cellpadding="2" width="509" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="507">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT ProductID, ProductName FROM Products WHERE ProductName Like &#8216;&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text</font><font color="#808080">&#160;</font><font color="#000000">&amp;</font><font color="#808080"> &quot;%&#8217;&quot;              </p>
<p></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">cmd</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">SqlCommand</font><font color="#000000">(sql,</font><font color="#808080">&#160;</font><font color="#000000">conn)</font><font color="#808080">              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">ds</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">DataSet</font><font color="#808080">              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">da</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">SqlDataAdapter(cmd)</font><font color="#808080">              <br /></font><font color="#000000">debug.WriteLine(sql)</font><font color="#808080">&#160;&#160;&#160; </font><font color="#006400">&#8216;Lets us see the sql just before it is executed!              <br /></font><font color="#000000">da.Fill(ds)</font><font color="#808080">              <br /></font><font color="#000000">DataGridView1.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">ds.Tables(</font><font color="#800000">0</font><font color="#000000">)</font><font color="#808080">              <br /></font><font color="#006400">&#8216;DataBind&#160;&#160; &#8216;Uncomment this line if a web application</font> </div>
</td>
</tr>
</tbody>
</table>
</p>
<p>ليس البحث وحده كما ذكرنا ، بل ايضا اضافه وحذف البيانات وتعديلها من قاعد البيانات خصوصا في الوضع المنفصل Disconnected Mode ، لذلك فهي جزء اساسي من تطبيقات قواعد البيانات والتطبيقات الاخرى المسانده لها .    <br /><b>الكائن Parameter :</b>     <br /><b>تقدم لك ADO.NET الكائن Parameter التابع لأي كائن أمر Connection ، هذا الكائن وظيفته ارسال البيانات الى قواعد البيانات في الاستعلامات ، سواء تلك الاستعلامات المكتوبه في تطبيقك مباشره بوساطه جمله استعلام SQL او الاستعلامات المحفوظه في قاعدة البيانات ذاتها .</b>     <br /><b>ويمكن استخدام الكائن Parameter في الكود اعلاه ليكون بالشكل التالي :</b></p>
</p>
<table cellspacing="0" cellpadding="2" width="501" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="499">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT ProductID, ProductName FROM Products WHERE ProductName Like @ProductName + &#8216;%&#8217;&quot;              </p>
<p></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">cmd</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">SqlCommand</font><font color="#000000">(sql,</font><font color="#808080">&#160;</font><font color="#000000">conn)</font><font color="#808080">              </p>
<p></font><font color="#000000">cmd.Parameters.AddWithValue(</font><font color="#808080">&quot;@ProductName&quot;</font><font color="#000000">,</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text)</font> </div>
</td>
</tr>
</tbody>
</table>
<p>حيث يتم اتباع الخطوات التالية عندما نرغب باستخدام الكائن Parameter :    <br /><b>1- في جملة الاستعلام ، نقوم بوضع تسميه معينه بدلا من اسناد قيمه متغير او كائن الى حقل معين ، فلو تلاحظ في الكود الماضي تم استخدام ProductName@ بدلا من وضع علامات تنصيص ثم استخدام الاداة TextBox1 </b>    <br /><b>2- تمت اضافه عنصر جديد الى مصفوفة الباراميترات التابعه للكائن cmd والذي هو عباره ع كائن اوامر SqlCommand مع مراعاة استخدام نفس تسميه الباراميتر التي وضعناها في جملة الاستعلام SQL او حتى تلك المحفوظة في استعلام قاعدة البيانات ونعطيه القيمه المطلوبة وهي النص المكتوب في TextBox1 .</b>     <br /><b>احدى فوائد الباراميترات هي المحافظه على شكل جمله الاستعلام من وضع علامات الاقتباسواسماء كائنات مربعات النصوص او الادوات التي تحتوي على القيمه المطلوب ارساله مع جمله الاستعلام ، فائده اخرى نجنيها ، وهي امكانيه استخدام الاستعلامات المخزنة في قاعدة البيانات التي تتطلب باراميترات ، فنحن في تطبيقاتنا نرغب بأن يتم عرض البيانات على شرط يحدده المستخدم وليس شرطا ان تكون قيمه ثابته في كل مره خصوصا عند البحث والاضافه والحذف والتعديل .</b>     <br /><b>فوائد اخرى سنعرفها في السطور التاليه وهي مهمه جدا .</b>     <br /><b>بالعودة الى الكود الذي وضعناه في البدايه : </b></p>
</p>
<table cellspacing="0" cellpadding="2" width="511" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="509">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT ProductID, ProductName FROM Products WHERE ProductName Like &#8216;&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text</font><font color="#808080">&#160;</font><font color="#000000">&amp;</font><font color="#808080"> &quot;%&#8217;&quot;              </p>
<p></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">cmd</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">SqlCommand</font><font color="#000000">(sql,</font><font color="#808080">&#160;</font><font color="#000000">conn)</font><font color="#808080">              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">ds</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#2b91af">DataSet</font><font color="#808080">              <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">da</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">New</font><font color="#808080">&#160;</font><font color="#000000">SqlDataAdapter(cmd)</font><font color="#808080">              <br /></font><font color="#000000">debug.WriteLine(sql)</font><font color="#808080">&#160;&#160;&#160; </font><font color="#006400">&#8216;Lets us see the sql just before it is executed!              <br /></font><font color="#000000">da.Fill(ds)</font><font color="#808080">              <br /></font><font color="#000000">DataGridView1.DataSource</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080">&#160;</font><font color="#000000">ds.Tables(</font><font color="#800000">0</font><font color="#000000">)</font><font color="#808080">              <br /></font><font color="#006400">&#8216;DataBind&#160;&#160; &#8216;Uncomment this line if a web application</font> </div>
</td>
</tr>
</tbody>
</table>
<p>هنا سيسأل سائل ويقول :انا يكفيني استخدام الكود بهذه الطريقة طالما انني استخدم استعلامات من داخل تطبيقي وليست استعلامات مخزنة في قاعدة البيانات ، سأجيبه واقول له جرب ادخال القيمه التالية في TextBox1:</p>
</p>
<p> Chef Anton&#8217;s
</p>
<p>الآن جرب الكود وانظر الى الخطأ الذي سيحدث وكله بسبب استخدام العلامه الصغيره &#8216; ، طيب اذا كان المستخدم يدخل البيانات باللغه الانجليزية فان من حقه استخدام تلك العلامة في كتابه الاسماء وغيرها ، حتى في اللغه العربيه قد نحتاجها احيانا ،    <br /><b>طيب ما الحل ؟ الحل استخدم الباراميترات Parameters باستخدام الكائن Parameter .</b>     <br /><b>حالة ثانيه وهي عند الرغبه في ادخال تاريخ مثل الاستعلامات التالية : </b></p>
</p>
<table cellspacing="0" cellpadding="2" width="510" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="508">
<div class="code"><font color="#006400">&#8217;sql server&#160; <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT FirstName,LastName FROM Employees WHERE HireDate =&#8217;&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text</font><font color="#808080">&#160;</font><font color="#000000">&amp;</font><font color="#808080"> &quot;&#8217;&quot;              <br /></font><font color="#006400">&#8216;oledb&#160; <br /></font><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">As</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT FirstName,LastName FROM Employees WHERE HireDate =#&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text</font><font color="#808080">&#160;</font><font color="#000000">&amp;</font><font color="#808080"> &quot;#&quot;</font> </div>
</td>
</tr>
</tbody>
</table>
<p>لكوننا نستخدم النظام التالي في ادخال التواريخ : dd/MM/yyyy وليس النظام الأمريكي MM/dd/yyyy فإن احتمال ظهور رسائل الخطأ وارد جدا ، وعمليه استخدام الداله Format لتغيير التنسيق اعتبره شخصيا انتقاص من حقنا من قبل الأمريكان بإجبارهم لنا ان نستخدم طرق ملتويه وان كانت سهله لمجرد اننا لا نتبع نظام تاريخهم في التنسيق .    <br /><b><b>طيب ما الحل ؟ الحل استخدم الباراميترات Parameters باستخدام الكائن Parameter .</b>       <br /><b>حالة ثالثه ، جرب استخدام الاستعلام التالي : </b>      <br /></b></p>
</p>
<table cellspacing="0" cellpadding="2" width="512" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="510">
<div class="code"><font color="#0000ff">Dim</font><font color="#808080">&#160;</font><font color="#000000">sql</font><font color="#808080">&#160;</font><font color="#0000ff">AS</font><font color="#808080">&#160;</font><font color="#0000ff">String</font><font color="#808080">&#160;</font><font color="#0000ff">=</font><font color="#808080"> &quot;SELECT ProductID, ProductName FROM Products WHERE ProductName Like &#8216;&quot; </font><font color="#000000">&amp;</font><font color="#808080">&#160;</font><font color="#000000">TextBox1.Text</font><font color="#808080">&#160;</font><font color="#000000">&amp;</font><font color="#808080"> &quot;%&#8217;&quot;</font> </div>
</td>
</tr>
</tbody>
</table>
<p>الآن يسرني ان اخبرك بأنه من عاشر المستحيلات ان تستخدم الكود السابق لادخال قيمه في الاستعلام مثل التالية :</p>
</p>
<p> x&#8217;
</p>
<p> والسبب ببساطه انه سيكون لديك استعلام بالشكل التالي :
</p>
<table cellspacing="0" cellpadding="2" width="511" border="1">
<tbody>
<tr>
<td dir="ltr" valign="top" width="509">
<div class="code"><font color="#0000ff">SELECT</font><font color="#808080">&#160;</font><font color="#000000">ProductID,</font><font color="#808080">&#160;</font><font color="#000000">ProductName</font><font color="#808080">&#160;</font><font color="#000000">FROM</font><font color="#808080">&#160;</font><font color="#000000">Products</font><font color="#808080">&#160;</font><font color="#000000">WHERE</font><font color="#808080">&#160;</font><font color="#000000">ProductName</font><font color="#808080">&#160;</font><font color="#000000">LIKE</font><font color="#808080">&#160;</font><font color="#006400">&#8216;x&#8217;%&#8217;</font> </div>
</td>
</tr>
</tbody>
</table>
<p>ونحن معلوم لدينا انه لا يمكن ان نستخدم الحاصره &#8216; من دون اغلاقها بواحده اخرى تليها !    <br /><b>ايضا استخدام الادخال التالي يؤدي الى خطأ آخر مشابه :</b></p>
</p>
<p> x&#8217; &#8211;
</p>
<p>طيب ما الحل ؟ الحل استخدم الباراميترات Parameters باستخدام الكائن Parameter .    <br /><b>كيف نستخدم الباراميترات في جميع الحالات السابقه ؟ هذا ما سنعرفه في الجزء الثاني ،</b></p>
Posted in تقنية عامة Tagged: ado.net, parameters, sql <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/100/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/100/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/100/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=100&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/09/19/%d8%a7%d8%b3%d8%aa%d8%ae%d8%af%d8%a7%d9%85-parameters-%d9%81%d9%8a-adonet-%d9%84%d8%aa%d8%a8%d8%a7%d8%af%d9%84-%d8%a7%d9%84%d8%a8%d9%8a%d8%a7%d9%86%d8%a7%d8%aa-%d9%85%d8%b9-%d9%82%d8%a7%d8%b9%d8%af/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>
	</item>
		<item>
		<title>عمل تقرير لعرض سجل معين</title>
		<link>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/</link>
		<comments>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/#comments</comments>
		<pubDate>Fri, 15 Aug 2008 09:31:53 +0000</pubDate>
		<dc:creator>alnabhani</dc:creator>
				<category><![CDATA[برمجة التقارير]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[microsoft reporting tool]]></category>
		<category><![CDATA[microsoft reports]]></category>
		<category><![CDATA[parameters]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[فلترة]]></category>
		<category><![CDATA[visual studio reports]]></category>
		<category><![CDATA[تقارير فيجوال ستوديو]]></category>
		<category><![CDATA[طباعة سجل واحد]]></category>

		<guid isPermaLink="false">http://alnabhani.wordpress.com/?p=50</guid>
		<description><![CDATA[
عمل تقرير لعرض سجل معين
لاحظت كثرة الأسئلة حول كيفية عمل تقرير لسجل واحد فقط ، وللأسف فإن اغلب السائلين لا يحددون نوع التقارير المستخدم ، وايضا هذا السؤال يتكرر بكثرة ، فقمت بعمل مثال مبسط حول حل هذا السؤال بواسطة اداة التقارير الخاصة بفيجوال ستوديو Microsoft Reporting Tool بواسطة الاصدار 2008 وهي لا تختلف كثيرا [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=50&subd=alnabhani&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><!-- / icon and title --><!-- message --></p>
<h1>عمل تقرير لعرض سجل معين</h1>
<div id="post_message_113166">لاحظت كثرة الأسئلة حول كيفية عمل تقرير لسجل واحد فقط ، وللأسف فإن اغلب السائلين لا يحددون نوع التقارير المستخدم ، وايضا هذا السؤال يتكرر بكثرة ، فقمت بعمل مثال مبسط حول حل هذا السؤال بواسطة اداة التقارير الخاصة بفيجوال ستوديو Microsoft Reporting Tool بواسطة الاصدار 2008 وهي لا تختلف كثيرا عن 2005 لكن لايوجد لدي الاصدار 2005 ، مع ذلك سأقوم بشرح الطريقة فلا تقلقوا <img class="inlineimg" src="http://www.vb4arab.com/vb/images/smilies/biggrin.gif" border="0" alt="" /></div>
<p><span style="color:#ff0000;">فكرة الحل :</span></p>
<p><span id="more-50"></span><br />
يكمن الحل في عمل filter لبيانات التقرير بإستخدام حقل مميز للسجلات &#8211; في مثالي استخدمت قاعدة البيانات الشهيرة Northwind والجدول Customers تحديدا ، في ذلك الجدول ، الحقل Id هو المميز والذي لا يتكرر في كل الظروف &#8211; لذلك سنقوم بعمل Parameter ونضعه في الـ filter الخاص بالتقرير ، ثم نمرر قيمته بواسطة الكود قبل عرض التقرير على النافذة .</p>
<p><span style="color:#ff0000;">الحل :</span><br />
نقوم بعمل مشروع جديد ونضيف له مصدر بيانات جديد New Data Source ثم نحدد قاعدة البيانات Northwind بعدها نختار الجدول customers فقط ونقوم بتسمية الـ Dataset بأي إسم نرغبه ، وليكن CustomersDataset ثم ننهي المعالج بالطبع .</p>
<p>بعدها نقوم بإضافة تقرير جديد الى المشروع وذلك من خلال الضغط على Ctrl+shift+A ثم اختيار Report بعدها سيفتح لنا مصمم التقارير بالتقرير الجديد .</p>
<p>بداية نذهب الى القائمة Report ونختار الأمر Data Sources ومن هناك نقوم بإضافة الـ Dataset الذي قمنا بإضافته توا للمشروع ثم نغلق مربع الحوار .</p>
<p>بعدها تأتي الخطوة الاهم على الإطلاق ،نذهب الى القائمة Report مجددا ونختار Report Parameters لتظهر لنا النافذة التالية :</p>
<p><img src="http://vb4arab.com/vb/uploaded/486/11218715151.jpg" border="0" alt="" /><br />
نقوم بإضافة Parameter جديد ونحدد نوع ليكون Integer ثم نكتب إسمه وليكن CustomerID ثم نضغط على زر OK .</p>
<p>الآن نقوم بإضافة اداة Table وعليها الحقول المطلوبة ( لا اشرح هذه العملية هنا !! ) ثم نقوم بالضغط بالزر الأيمن على ال table في الزاوية العلوية اليسرى بعدها نختار Properties ، ومن النافذة الظاهره نختار Filter ثم هناك بإضافة filter جديد للـ grid ونختار الـ Operator الخاص بالمساواة ، ومن العمود Value نختار من القائمة المنسدلة Expression ومن نافذة ال Expression Editor نختار Parameters وسنرى هناك الباراميتر الذي قمنا بإضافته سابقا ، سنقوم الآن بالضغط على نقرا مزدوجا ثم نضغط على زر OK ونغلق النافذة .</p>
<p>الآن نذهب الى النافذة التي ستعرض التقرير ونضيف في البداية شريط ادوات ToolStrip وبه ثلاث أدوات بالترتيب :<br />
<span style="color:#0000ff;">- Label :</span> نكتب عليه نص توجيهي للمستخدم وليكن filter Customer ID ،<br />
<span style="color:#0000ff;">- TextBox :</span> اسمه tstxtCustomerID<br />
<span style="color:#0000ff;">- Button :</span> اسمه tsbtnshowReport وليكن بالنص فقط ونصه Show Report .</p>
<p>الآن نقوم بوضع اداة Microsoft Report Viewer على النافذة ومن Choose Reports نختار التقرير الذي اضفناه سابقا .</p>
<p>ثم نذهب الى محرر الاكواد الخاص بالنافذة ونضيف فضاء الأسماء التالي :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود :</div>
<p><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Imports</span></span></span></span><span style="font-size:x-small;"> Microsoft.Reporting.WinForms </span></div>
<p>ثم نقوم بحذف السطر :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p>Me.ReportViewer1.RefreshReport()</p></div>
<p>من الحدث Load الخاص بالنافذة form .</p>
<p>بعدها نقوم بكتابة كود للزر tsbbtnShowReport في حدث النقر Click ونكتب الكود التالي :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Dim</span></span></span></span><span style="font-size:x-small;"> CusID(0) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">As</span></span></span></span><span style="font-size:x-small;"> ReportParameter CusID(0) = </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">New</span></span></span></span><span style="font-size:x-small;"> ReportParameter(</span><span style="font-size:x-small;"><span style="color:#a31515;"><span style="font-size:x-small;"><span style="color:#a31515;">&#8220;CustomerID&#8221;</span></span></span></span><span style="font-size:x-small;">, tstxtCustomerID.Text) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Me</span></span></span></span><span style="font-size:x-small;">.ReportViewer1.LocalReport.SetParameters(CusID) </span><span style="font-size:x-small;"><span style="color:#0000ff;"><span style="font-size:x-small;"><span style="color:#0000ff;">Me</span></span></span></span><span style="font-size:x-small;">.ReportViewer1.RefreshReport() </span></div>
<p>شرح الكود :<br />
في السطر الاول قمنا بإنشاء مصفوفة من النوع ReportParameter ونختار العنصر الأول فيها ( رقم صفر ) ليكون كائنا جديدا من النوع ReportParameter، وبإستخدام المشيد Constuctor نعطه الوسائط Arguments المطلوبة كما يلي :<br />
- ParameterName : وهنا نكتب اسم الباراميتر الذي اضفناه في التقرير سابقا .<br />
- Value : وهنا قيمة التقرير ، وهي قيمة الشرط في الـ filter ،</p>
<p>ثم نقوم بإضافة الباراميترات الى التقرير من خلال السطر :</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="color:#0000ff;">Me</span><span style="font-size:x-small;">.ReportViewer1.LocalReport.SetParameters(CusID)</span></div>
<p>بعدها نقوم بإظهار محتويات التقرير بالسطر:</p>
<div style="margin:5px 20px 20px;">
<div class="smallfont" style="margin-bottom:2px;">كود:</div>
<p><span style="color:#0000ff;">Me</span><span style="font-size:x-small;">.ReportViewer1.RefreshReport()</span></div>
<p>لذلك قمت بحذفه من الحدث Load لأننا لا نريد عرض التقرير بذلك الشكل، وخذها كمعلومة ، التقرير الذي يحتوي على باراميترات لم تعط قيما لها لن يظهر بل سيطبع رسالة الخطا على جسم التقرير !!</p>
<p>اخيرا الفكرة المستخدمه هنا بالباراميترات يمكن استخدامها لعرض البيانات بين مجالين او تجميع او اي شيء تحتاجه تضع مكانه اسم الباراميتر بإستخدام الـ Expression Editor وتجعل تقاريرك ديناميكية اكثر .</p>
<p> </p>
<p>لتحميل المثال المذكور يرجى النقر <a href="http://vb4arab.com/vb/uploaded/486/11218715833.rar" target="_blank">هنا</a></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/alnabhani.wordpress.com/50/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/alnabhani.wordpress.com/50/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/alnabhani.wordpress.com/50/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/alnabhani.wordpress.com/50/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/alnabhani.wordpress.com/50/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=alnabhani.wordpress.com&blog=454111&post=50&subd=alnabhani&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://alnabhani.wordpress.com/2008/08/15/print_one_row_report/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">alnabhani</media:title>
		</media:content>

		<media:content url="http://www.vb4arab.com/vb/images/smilies/biggrin.gif" medium="image" />

		<media:content url="http://vb4arab.com/vb/uploaded/486/11218715151.jpg" medium="image" />
	</item>
	</channel>
</rss>