استفاده از کنترل SqlDataSource قسمت ١

ali-soft

عضو جدید
مقدمه
کنترلSqlDataSource شما را قادر مي سازد به سرعت وبه آساني يک پايگاه داده را در يک صفحه وب نشان دهيد. در بيشتر موارد، شما مي توانيد از مزيتهاي کنترل SqlDataSource با نوشتن يک Database-Driven براي صفحه وب بدون اينکه شما يک خط کد بنويسيد استفاده کنيد.
شما از کنترل SqlDataSource برای نشان دادن يک اتصال و ست کردن مجموعه ای از فرمان ها که مي توانند همسو، با يک پايگاه داده SQL اجرا شوند.
شما مي توانيد از کنترل SqlDataSource وقتي که با Microsoft SQL Server، Microsoft SQL Server Express،Microsoft Access، Oracle، DB2، MySQL، يا با هر پايگاه داده رابطه اي SQL ارتباط برقرار کنيد.
توجه:اگرچه شما ميتوانيد از کنترل SqlDataSource وقتيکه با مايکروسافت Access کار مي کنيد استفاده کنيد، فريم ورک ASP.NET کنترل AccessDataSource را شامل می شود که بصورت ويژه براي MicrosoftAccess طراحی شده است. زيرا استفاده از مايکروسافت Access براي يک وب سايت توصيه نمي شود. اين کتاب بر روی کنترل Microsoft Access بحث نمي کند.
کنترل SqlDataSource از روي ADO.NET ساخته شده است. SqlDataSource از اشياء ADO.NET از قبيل DataSet,DataReader و اشياء فرمان استفاده ميکند.زيرا کنترل SqlDataSource يک کنترلي است که شما را قادر مي سازد که از اشياء ADO.NET بصورت اعلاني سريعتر از برنامه نويسي استفاده کنيد.
کنترل SqlDataSource يک کنترل non-visual است. شما مي توانيد از کنترل SqlDataSource با ديگر کنترل ها از جمله GridView يا FormView به نمايش و ويرايش کردن داده هاي پايگاه داده بپردازيد. کنترل SqlDataSource همچنين از اشياء فرمان صادر شده SQL در مقابل برنامه نويسي پايگاه داده استفاده مي کند.
توجه:کنترل SqlDataSource کنترل مناسبي نيست وقتيکه شما برنامه هاي کاربردي پيچيده را با استفاده از معماري چند لايه. مي سازيد. اين کنترل شما را به در هم آميختن لايه دسترسي داده ها با لايه واسط کاربر مجبور مي کند. اگر شما مي خواهيد برنامه کاربردي تان را با معماري چند لايه بسازيد، شما بايد از کنترلObjectDataSource به نمايش داده هاي پايگاه داده تان بپردازيد.
بحث در مورد اين کنترل را در فصل استفاده از کنترل ObjectDataSource پرداخته مي شود.
در اين فصل شما ياد ميگيريد چگونه اتصال ها و فرمان ها را با کنترل SqlDataSource نشان دهيد.
شما همچنين ياد مي گيريد چگونه از انواع مختلف پارامتر ها وقتيکه فرمان ها را اجرا مي کنيد استفاده کنيد.
در پايان، شما ياد مي گيريد چگونه کارايي database-driven اپليکيشن هايتان را با استفاده از مزيتهاي کنترل SqlDatasource که براي caching کردن داده هاي پايگاه داده حمايت مي شود استفاده کنيد.​
 
آخرین ویرایش:

ali-soft

عضو جدید
استفاده از کنترل SqlDataSource

استفاده از کنترل SqlDataSource

ايجاد اتصال به پايگاه داده:
شما می توانيد از کنترل SqlDataSource که فقط با هر سرور پايگاه داده رابطه ای Sql اتصال پيدا مي کند استفاده کنيد.​
در اين فصل شما خواهيد آموخت که چگونه به پايگاه داده Microsoft SQL Server و ديگر پايگاه داده از قبيل اوراکل اتصال برقرار کنيد.
شما همچنين در اين فصل خواهيد آموخت چگونه رشته اتصال به پايگاه داده استفاده شده بوسيله SqlDataSource را در فايل هاي پيکر بندی وب تان محافظت کنيد.(web.config)
 
آخرین ویرایش:

ali-soft

عضو جدید
استفاده از کنترل SqlDataSource قسمت ۳

استفاده از کنترل SqlDataSource قسمت ۳

اتصال به Microsoft SQL Server:
به طور پيش فرض کنترل SqlDataSource برای Microsoft SQL Server ورژن 7.0 يا بالاتر پيکربندی شده است.
فراهم کننده پيش فرض کنترل SqlDataSource بوسيله ADO.NET است که برايMicrosoft SQL Server مهيا شده است.
شما رشته اتصال پايگاه داده را براي کنترل SqlDataSource بوسيله خاصيت ConnectionString ارائه مي کنيد. براي مثال، فهرست 1-9 يک کنترل SqlDataSource را شامل مي شودکه به يک پايگاه داده محلي Sql Server 2005 اتصال برقرار مي کند را نمايش مي دهد
فهرست (1-9) ShowLocalConnection.aspx

<%@ Page Language=”VB” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head id=”Head1” runat=”server”>
<title>Show Local Connection</title>
</head>
<body>
<form id=”form1” runat=”server”>
<div>
<asp:GridView
id=”grdMovies”
DataSourceID=”srcMovies”
Runat=”server” />
<asp:SqlDataSource
id=”srcMovies”
SelectCommand=”SELECT * FROM Pubs”
ConnectionString=”Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|MyDatabase.mdf;
Integrated Security=True;User Instance=True”
Runat=”server” />
</div>
</form>
</body>
</html>
توضيح: در فهرست 1-9 کنترل SqlDataSource از رشته اتصال زير استفاده نموده است:
Data Source=.\SQLEXPRESS;
AttachDbFilename=|DataDirectory|MyDatabase.mdf;
Integrated Security=True; User Instance=True
اين رشته اتصال با يک نمونه از SQL Server Express که روي يک ماشين محلی قرار گرفته و يک فايل پايگاه داده که MyDatabase.mdf ناميده مي شود اتصال برقرار کرده است. رشته اتصال از Integrated Security برای ارتباط با پايگاه داده محلي استفاده کرده است.
شما مي توانيد از رشته اتصال زير براي اتصال به يک پايگاه داده محلي بر روي يک سرور راه دور استفاده کنيد.
Data Source=DataServer; Initial Catalog=Northwind;
User ID=webuser; Password=secret;
اين رشته اتصال پايگاه داده، اتصال با يک پايگاه داده SQL Server که بر روي يک ماشين راه دور قرار گرفته که DataServer ناميده مي شود را برقرار مي کند. رشته اتصال به پايگاه داده ای بنام Northwind متصل مي شود.
در دومين رشته اتصال از استاندارد امنيتي SQL به جاي Integrated Security استفاده شده است. که يک User ID و Password را شامل مي شود که به يک لوگين SQL Server وابسته است.
اخطار:به دلايل امنيتي، شما نبايد هرگز که يک رشته اتصال راکه هويت امنيتي را شامل ميشود را در صفحه ASP.NET خود قرار دهيد. بنا به فرض علمي شما نبايد سورسي از يک صفحه ASP.NET را قادر باشيد ببينيد. اگرچه، مايکروسافت يک راه پي گيري بي عيب را ندارد. بعداً در اين بخش، شما خواهيد آموخت چگونه رشته اتصال را در فايل پيکربندي وب ذخيره نماييد.

فريم ورک دات نت يک کلاس سودمند را شامل مي شود که کلاسSqlConnectionBuilder نام دارد.شما وقتيکه با رشته اتصال SQL کار مي کنيد مي توانيد از اين کلاس استفاده کنيد. اين کلاس به صورت اتوماتيک هر رشته اتصال را تبديل به يک نمايش متعارف مي کند. آن همچنين خاصيت هايي را براي استخراج و تغييرات منحصر به فرد پارامتر هاي رشته اتصال از قبيل پارامتر پسورد شامل مي شود.
براي مثال فهرست 2-9 در اين صفحه رشته اتصال را به صورت اتوماتيک هر رشته اتصال را به يک نمايش استاندارد تبديل مي کند.
فهرست (2-9) SqlConnectionStringBuilder.aspx

<%@ Page Language=VB %>
<%@ Import Namespace=System.Data.SqlClient %>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.1//EN
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd>
<script runat=server>
Protected Sub btnConvert_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim builder As New SqlConnectionStringBuilder(txtConnectionString.Text)
lblResult.Text = builder.ConnectionString
End Sub
</script>
<html xmlns=http://www.w3.org/1999/xhtml >
CHAPTER 9 Using the SqlDataSource Control 380
<head id=Head1 runat=server>
<title>SQL Connection String Builder</title>
</head>
<body>
<form id=form1 runat=server>
<div>
<asp:TextBox
id=txtConnectionString
Columns=60
Runat=Server />
<asp:Button
id=btnConvert
Text=Convert
OnClick=btnConvert_Click
Runat=Server />
<hr />
<asp:Label
id=lblResult
Runat=server />
</div>
</form>
</body>
</html>
بعد از اينکه برنامه ليست 2-9 را اجرا کنيد اگر شما رشته اتصالي که مانند زير است را جستجو کنيد:
Server=localhost UID=webuser; pwd=secret; database=Northwind
اين صفحه رشته اتصال به مانند رشته زير تبديل مي کند:
Data Source=localhost; Initial Catalog=Northwind; User ID=webuser; Password=secret
 

ali-soft

عضو جدید
استفاده از کنترل SqlDataSource قسمت ۴

استفاده از کنترل SqlDataSource قسمت ۴

اتصال به ديگر پايگاه هاي داده:
اگر شما به سرور ديگر پايگاه هاي داده به غير از Microsoft SQL Server نياز داريد كافيست خاصيت ProviderName كنترل SqlDataSource را تغيير دهيد.
فريم ورك دات نت فراهم كننده هاي زير را شامل مي شود:
System.Data.OracleClient- از فراهم كننده ADO.NET براي اوراکل وقتي كه براي اتصال به پايگاه داده اوراكل استفاده مي كند.

System.Data.OleDb— از فراهم كننده OLE DB استفاده مي كند وقتيكه به منبع داده اي اتصال پيدا مي كند كه از فراهم كننده OLE DB پشتيباني مي كند.

System.Data.Odbc— از فراهم كننده ODBC استفاده مي كند وقتي كه به منبع داده اي اتصال پيدا مي كند كه از فراهم كننده ODBC پشتيباني مي كند.
توجه: شما مي توانيد پيکر بندي کنيد فراهم کننده ها اضافي که شما مي توانيد استفاده کنيد با کنترل SqlDataSource بوسيله اضافه نمودن ورودي جديد <DbProviderFactories> در بخشي از فايل Maching.config.

براي کارايي بيشتر شما هميشه بايد از يک فراهم کننده ADO.NET محلي براي يک پايگاه داده استفاده کنيد. گرچه، اگر ديتابيس شمايک فراهم کننده ADO.NET ندارد شما به يکي از OLE DB يا ODBC براي اتصال به پايگاه داده احتياج داريد. تقريباً هر پايگاه داده در تمام جهان يکي از فراهم کنندة OLE DB يا يک راه انداز ODBC را دارد.
براي مثال فهرست 3-9 از فراهم کنندة ADO.NET اوراکل براي اتصال به يک پايگاه داده اوراکل استفاده مي کند.
فهرست (3-9) ConnectOracle.aspx


<%@ Page Language=VB %>
<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.1//EN
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd>
<html xmlns=http://www.w3.org/1999/xhtml >
<head id=Head1 runat=server>
<title>Connect Oracle</title>
</head>
<body>
<form id=form1 runat=server>
<div>
<asp:GridView
id=grdOrders
DataSourceID=srcOrders
Runat=server />
<asp:SqlDataSource
id=srcOrders
ProviderName=System.Data.OracleClient
SelectCommand=SELECT * FROM Orders
ConnectionString=Data Source=OracleDB;Integrated Security=yes
Runat=server />
</div>
</form>
</body>
</html>[/FONT
]
در فهرست 3-9 توجه کنيد که خاصيت ProviderName به مقدار System.Data.OracleClientست شده است.اين ارتباط از يک فراهم کننده ADO.NET اوراکل محلي بجاي فراهم کنندة پيش فرض Microsoft SQL Server استفاده مي کند.
توجه:براي اتصال به پايگاه داده اوراکل شما نياز به نصب برنامه اوراکل سمت مشتري روي وب سرور خو داريد.(Oracle Client)
توجه:شما مي توانيد فراهم کنندة اوراکل را از آدرس زير دانلود کنيد:
http://www.oracle.com/technology/tech/windows/odpnet/index.html.
 

ali-soft

عضو جدید
استفاده از کنترل SqlDataSource قسمت ۵

استفاده از کنترل SqlDataSource قسمت ۵

ذخيره رشته اتصال در فايل پيکربندي وبweb.config
ذخيره نمودن رشته اتصال در صفحات وب شما به سه دليل ايده جالبی نمي باشد.
اولاً از لحاظ امنيتی يک تکنيک خوب به حساب نمی آيد.
در نظرية ديگر، هيچ کس نبايد بتواند سورس کد صفحات ASP.NET شما را ببيند. عملاً، هر چند، هکرها به پوشش امنيتی فريم ورک ASP.NET رخنه کرده اند. شما بايد رشته اتصال را در فايل هاي جداگانه ذخيره کنيد.
گذشته از اين، اضافه نمودن رشته اتصال به هر صفحه ممکن است مشکلاتی را برای مديريت وب سايت داشته باشد.
اگر شما نياز داشته باشيد که پسورد رشته اتصالتان را تغيير دهيد. شما ملزم هستيد هر صفحه ای که آن شامل تغييرات می شود را تغيير دهيد.
از سوی ديگر، اگر شما رشته اتصال را در يک فايل ذخيره کنيد. شما می توانيد رمز عبور را بوسيله اصلاح کردن يک فايل ويرايش کنيد.
سرانجام، ذخيره رشته اتصال در يک صفحه، بطور بالقوه اي، بر کارايي برنا مه تان آسيب مي رساند. فراهم کنندة ADO.NET براي Microsoft SQL Server بطور خودکار از اتصال عمومي براي بهبود بخشيدن کارايي برنامه هاي کاربردي دسترسي به داده استفاده مي کند



به اين دلايل، شما بايد هميشه رشته اتصال هايتان را در فايل پيکربندي وب قرار دهيد. فايل Web.config در فهرست 4-9 يک قسمت از ConnectionStrings را شامل مي شود.
فهرست (4-9) Web.config

<?xml version=1.0?>
<configuration>
<connectionStrings>
add name=Movies connectionString=Data Source=.\SQLEXPRESS>
AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True
</User Instance=True
</connectionStrings>


</configuration>
شما مي توانيد چندين رشته اتصال در قسمت ConnectionStrings اضافه کنيد. فهرست 5-9 شامل يک SqlDataSource است که از رشته اتصال Movies استفاده مي کند.
فهرست (5-9) ShowMovies.aspx


<%@ Page Language=VB %>

<!DOCTYPE html PUBLIC -//W3C//DTD XHTML 1.1//EN
http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd>
<html xmlns=http://www.w3.org/1999/xhtml >
<"head id=Head1 runat="server>
<title>Show Movies</title>
</head>
<body>
<"form id=form1 runat="server>
<div>
asp:GridView>
"id="grdMovies
"DataSourceID="srcMovies
</"Runat="server
asp:SqlDataSource>
"id="srcMovies
"SelectCommand="SELECT * FROM Movies
<% "ConnectionString="$ ConnectionStrings:Movies %>
</"Runat="server
<div/>
<form/>
<body/>

<html/>

عبارت <%$ ConnectionStrings:Movies %>کاربرد رشته اتصال را نشان مي دهد.اين عبارت به کوچک و بزرگي حروف حساس نيست.
ترجيحاً رشته اتصال در پروژه هايتان را در فايل پيکربندي وب اضافه کنيد، شما مي توانيد رشته اتصال در يک فايل پيکربندي وب را در يک پوشه ديگر نيز اضافه کنيد.(بصورت سلسله مراتبي)
براي مثال شما مي توانيد رشته اتصال در ريشه فايل web.config اضافه کنيد و از آن در برنامه هاي کاربردي روي سرورتان استفاده کنيد.ريشه فايل web.config در مسير زير قرار دارد:
C:\WINDOWS\Microsoft.NET\Framework\[version]\CONFIG

ادامه دارد...
 

safapoor

عضو جدید
سوال

سوال

دوست عزیز سلام
ببخشید، میتونیم در این بخش آموزش سوالات خودمون رو مطرح کنیم.
مثلا همین دراپ دان لیست پایین این سایت رو چه طور طراحی کنیم؟
 

ali-soft

عضو جدید
پاسخ به طراحي Drop Down List

پاسخ به طراحي Drop Down List

[SIZE="5ببخشيد که به صورت فارسي ننوشتم ولي متن خیلي سختي نیست

Working with the DropDownList Control

The DropDownList control enables you to display a list of options while requiring a
minimum of screen real estate. A user can select only one option at a time when using
this control.
The page in Listing 10.9 illustrates how you can use the DropDownList control to display
all the movie titles from the Movies database table (see Figure 10.8).
Working with the DropDownList Control 455
LISTING 10.8 Continued
FIGURE 10.8 Displaying list items with the DropDownList control.
LISTING 10.9 ShowDropDownList.aspx
<%@ Page Language=”VB” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
Protected Sub btnSubmit_Click(ByVal sender As Object, ByVal e As EventArgs)
lblMovie.Text = ddlMovies.SelectedItem.Text
End Sub
</script>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head id=”Head1” runat=”server”>
<title>Show DropDownList</title>
</head>
<body>
<form id=”form1” runat=”server”>
<div>
asp:DropDownList>
id=”ddlMovies”
DataSourceID=”srcMovies”
CHAPTER 10 Using List Controls 456
DataTextField=”Title”
DataValueField=”Id”
Runat=”server” />
<asp:Button
id=”btnSubmit”
Text=”Submit”
OnClick=”btnSubmit_Click”
Runat=”server” />
<hr />
<asp:Label
id=”lblMovie”
Runat=”server” />
<asp:SqlDataSource
id=”srcMovies”
SelectCommand=”SELECT Id, Title FROM Movies”
ConnectionString=”<%$ ConnectionStrings:Movies %>”
Runat=”server” />
</div>
</form>
</body>
</html>
The DropDownList control renders an HTML <select> tag. One problem with the HTML
<select> tag is that it has an infinite z index. In other words, you can’t place other
objects, such as an absolutely positioned <div> tag, in front of a DropDownList control in
a page.
One way to get around this problem is to use a third-party control such as the
EasyListBox control (available at http://www.EasyListBox.com). This control works fine
when other objects are layered over it. It also supports several advanced features such as
multiple columns and images in list items.
[/SIZE][/LEFT][/COLOR][/COLOR]
 

ali-soft

عضو جدید
SqlDataSourceقسمت ششم :Filtering سطرهاي پايگاه داده

SqlDataSourceقسمت ششم :Filtering سطرهاي پايگاه داده

Filtering سطرهاي پايگاه داده
کنترل SqlDataSource شامل خاصيت FilterExpression است که شما را قادر مي سازد سطرهاي filter شده اي را به وسيله اين کنترل باز گرداند. شما مي توانيد filterهاي منطقي پيچيده که پارامتر هايي را شامل مي شودبا اين خاصيت تعريف کنيد.
براي مثال در فهرست 10-9 در اين صفحه همة عناوين فيلم هايي که با رشته وارد شده در کنترل تکست باکس مطابقت دارد را باز مي گرداند.
کد:
[LEFT][SIZE=3][FONT=Arial][COLOR=black]<%@ Page Language=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]VB[/COLOR][COLOR=black]”[/COLOR][COLOR=black] %>[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<!DOCTYPE html PUBLIC [/COLOR][COLOR=black]“[/COLOR][COLOR=black]-//W3C//DTD XHTML 1.1//EN[/COLOR][COLOR=black]”[/COLOR][COLOR=black]“[/COLOR][COLOR=black]http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<html xmlns=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]http://www.w3.org/1999/xhtml[/COLOR][COLOR=black]”[/COLOR][COLOR=black] >[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<head id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Head1[/COLOR][COLOR=black]”[/COLOR][COLOR=black] runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<style type=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]text/css[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/FONT][/SIZE]
[COLOR=black][FONT=Arial][SIZE=3]td, th[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]{[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]padding:10px;[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]}[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</style>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]<title>Show Filter Expression</title>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</head>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]<body>[/SIZE][/FONT][/COLOR]
[SIZE=3][FONT=Arial][COLOR=black]<form id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]form1[/COLOR][COLOR=black]”[/COLOR][COLOR=black] runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<div><asp:TextBox[/COLOR][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]txtTitle[/COLOR][COLOR=black]”[/COLOR][B][COLOR=white]9[/COLOR][/B][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<asp:Button[/COLOR][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]btnMatch[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Text=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Match[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/FONT][/SIZE]
[COLOR=black][FONT=Arial][SIZE=3]<hr />[/SIZE][/FONT][/COLOR]
[SIZE=3][FONT=Arial][COLOR=black]<asp:GridView[/COLOR][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]grdMovies[/COLOR][COLOR=black]”[/COLOR][COLOR=black]DataSourceId=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]srcMovies[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]<asp:SqlDataSource[/COLOR][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]srcMovies[/COLOR][COLOR=black]”[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]SelectCommand=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]SELECT Id,Title,Director,DateRelease FROM Movies[/COLOR][COLOR=black]”[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]FilterExpression=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Title LIKE [/COLOR][COLOR=black]‘[/COLOR][COLOR=black]{0}%[/COLOR][COLOR=black]’”[/COLOR][/FONT][/SIZE]
[SIZE=3][FONT=Arial][COLOR=black]ConnectionString=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]<%$ ConnectionStrings:Movies %>[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/FONT][/SIZE]
[COLOR=black][FONT=Arial][SIZE=3]<FilterParameters>[/SIZE][/FONT][/COLOR]
[SIZE=3][FONT=Arial][COLOR=black]<asp:ControlParameter Name=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Title[/COLOR][COLOR=black]”[/COLOR][COLOR=black] ControlID=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]txtTitle[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/FONT][/SIZE]
[COLOR=black][FONT=Arial][SIZE=3]</FilterParameters>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</asp:SqlDataSource>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</div>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</form>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</body>[/SIZE][/FONT][/COLOR]
[COLOR=black][FONT=Arial][SIZE=3]</html>[/SIZE][/FONT][/COLOR][/LEFT]
در فهرست 10-9 FilterExpression شامل اپراتور Like و Wildcard کاراکتر است. اپراتور Like آن قسمتي را اجرا مي کند که با عناوين فيلمها مطابقت دارد.
توجه کنيد که FilterExpression يک{0} PlaceHolder را شامل مي شود. مقدار موجود در تکست باکس به داخل PlaceHolder اضافه مي شود. شما مي توانيد با اين خاصيت از چندين پارامتر و چندين PlaceHolder استفاده کنيد.
توجه: کنترل SqlDataSource در پشت پرده از DataView استفاده مي کند. خاصيت RowFilter سطرهاي ديتابيس را filter مي کند.
استفاده از خاصيت FilterExpression مفيد است بويژه وقتيکه از Caching نمودن داده ها بوسيله SqlDataSource ارائه مي شود. براي مثال شما مي توانيد محتويات کامل فيلم هاي جدول پايگاه داده را در در حافظه ذخيره کنيد و از خاصيت FilterExpression براي filter کردن فيلم ها و نمايش آن ها در صفحه استفاده کنيد. شما مي توانيد مجموعه اي از فيلم هاي مختلف را بستگي به انتخاب کاربر از يک drop-down ليست از انواع مختلف فيلم نمايش دهيد.
 
آخرین ویرایش:

ali-soft

عضو جدید
استفاده از کنترل SqlDataSource تغيير DataSource Mode

استفاده از کنترل SqlDataSource تغيير DataSource Mode

تغيير Data Source Mode
کنترل SqlDataSource دو روش مختلف براي بازيابي داده ها ارائه مي کند. که آن مي تواند داده ها را با استفاده از DataSet يا DataReader نمايش دهد. به صورت پيش فرض SqlDataSource رکورد ها را با استفاده از شيئ DataSet نشان مي دهد.تعدادي از ويژگي هاي DataBound کنترل ها فقط وقتي کار مي کنند که کنترل ها به ديتاست bound هستند. براي نمونهدرکنترل GridView صفحه بندي و مرتب نمودن (Paging and Sorting) داده ها تنها وقتي کار مي کند که به ديتاست Bound شده باشد. همچنين ويژگي هاي Caching و Filtering رکورد ها فقط با ديتا ست ميسر مي باشد.
در روش ديگر SqlDataSource داده ها را با استفاده از شئي DataReader باز مي گرداند. مزايايي که استفاده ازDataReader در اختيار مي گذارد به طور قابل توجهي کارايي بالاتري نسبت به ديتاست دارد.خواندن رکوردها توسطDataReaderهمواره سريع و حرکتی رو به جلو (Forward-Only) بوده است.
اگر شما مي خواهيد رکورد هايي از پايگاه داده خود را بازيابي کنيد و نمايش دهيد سريع ترين راه ممکن استفاده از شئي DataReader است. براي مثال فهرست 11-9 رکورد هايي از جدوا movies را با استفاده از DataReader بازيابي مي کند.
LISTING 9.11 ShowDataSourceMode.aspx
کد:
[COLOR=black]
[LEFT][SIZE=3][COLOR=black]<%@ Page Language=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]VB[/COLOR][COLOR=black]”[/COLOR][COLOR=black] %>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<!DOCTYPE html PUBLIC [/COLOR][COLOR=black]“[/COLOR][COLOR=black]-//W3C//DTD XHTML 1.1//EN[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]“[/COLOR][COLOR=black]http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<html xmlns=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]http://www.w3.org/1999/xhtml[/COLOR][COLOR=black]”[/COLOR][COLOR=black] >[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<head id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]Head1[/COLOR][COLOR=black]”[/COLOR][COLOR=black] runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<title>Show Data Source Mode</title>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]</head>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<body>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<form id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]form1[/COLOR][COLOR=black]”[/COLOR][COLOR=black] runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black]>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<div>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<asp:GridView[/COLOR][/SIZE]
[SIZE=3][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]grdMovies[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]DataSourceID=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]srcMovies[/COLOR][COLOR=black]”[/COLOR][B][COLOR=white]9[/COLOR][/B][/SIZE]
[SIZE=3][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/SIZE]
[SIZE=3][COLOR=black]<asp:SqlDataSource[/COLOR][/SIZE]
[SIZE=3][COLOR=black]id=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]srcMovies[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]DataSourceMode=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]DataReader[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]SelectCommand=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]SELECT * FROM Movies[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]ConnectionString=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]<%$ ConnectionStrings:Movies %>[/COLOR][COLOR=black]”[/COLOR][/SIZE]
[SIZE=3][COLOR=black]Runat=[/COLOR][COLOR=black]”[/COLOR][COLOR=black]server[/COLOR][COLOR=black]”[/COLOR][COLOR=black] />[/COLOR][/SIZE]
[SIZE=3][COLOR=black]</div>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]</form>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]</body>[/COLOR][/SIZE]
[SIZE=3][COLOR=black]</html>[/COLOR][/SIZE][/LEFT]
[/COLOR][SIZE=3]
[/SIZE]

توجه کنيد که در کنترل SqlDataSource خاصيت DataSourceMode به مقدار DataReader ست شده است​
 

ali-soft

عضو جدید
مديريت خطاها با استفاده از اجرای فرمان های SQL

مديريت خطاها با استفاده از اجرای فرمان های SQL

مديريت خطاها با استفاده از اجرای فرمان های SQL
وقتيکه شما يک نرم افزار کاربردي مي سازيد. به طرحي براي عيب ها، شکست ها و يا به عبارتي خطاها احتياج داريد. پايگاه هاي داده اي که خراب مي شوند، کاربران مقدار هاي پيش بيني نشده اي را در فيلد هاي فرم ها وارد مي کنند. و اينترنت به طور معجزه آسايي با همه اين ها کار مي کند.
شما مي توانيد خطاها را با کنترل SqlDataSource بوسيله اداره کردن يکي يا همه رويدادهاي زير مديريت کنيد:
  • Deleted– بلا فاصله بعد از اينکه فرمان Delete کنترل SqlDataSource اجرا مي شود اتفاق مي افتد.
  • Inserted- بلا فاصله بعد از اينکه فرمان Insert کنترل SqlDataSource اجرا مي شود اتفاق مي افتد.
  • Selected- بلا فاصله بعد از اينکه فرمان Select کنترل SqlDataSource اجرا مي شود اتفاق مي افتد.
  • Updated- بلا فاصله بعد از اينکه فرمان Update کنترل SqlDataSource اجرا مي شود اتفاق مي افتد.
هر يک از اين رويداد ها يک پارامتر EventArgs راکه شامل يک استثناء(خطا) است را پاس مي کند وقتيکه يک فرمان اجرا مي گردد. برای مثال در فرمان select فهرست 12-9 سينما هايي بازيابی مي شوند از جدول DontExit به جاي جدول Movies.(يعني نام جدول اشتباه نوشته شده است)
کد:
[FONT=Tahoma][FONT=Times New Roman][B][COLOR=black][FONT=StoneSans-Semibold]LISTING 9.12 [/FONT][/COLOR][/B][COLOR=black][FONT=MonoRegular]HandleError.aspx[/FONT][/COLOR][/FONT]
[FONT=Times New Roman][COLOR=black][FONT=MonoRegular]_______________________________________________________[/FONT][/COLOR][/FONT]
[LEFT][FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<%@ Page Language=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]VB[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] %>[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<!DOCTYPE html PUBLIC [/FONT][/COLOR][COLOR=black][FONT=MonoRegular]“[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]-//W3C//DTD XHTML 1.1//EN[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]“[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]>[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<script runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]>[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]Protected Sub srcMovies_Selected(ByVal sender As Object,ByVal e As SqlDataSourceStatusEventArgs)[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]If Not e.Exception Is Nothing Then[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]lblError.Text = e.Exception.Message[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]e.ExceptionHandled = True[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]End If[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]End Sub[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</script>[/SIZE][/FONT][/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<html xmlns=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]http://www.w3.org/1999/xhtml[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] >[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<head id=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]Head1[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]>[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<style type=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]text/css[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]>[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3].error[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]{[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]display:block;[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]color:red;[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]font:bold 16px Arial;[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]margin:10px;[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]}[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</style>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<title>Handle Error</title>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</head>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<body>[/SIZE][/FONT][/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]<form id=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]form1[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]>[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<div>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<asp:Label[/SIZE][/FONT][/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]id=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]lblError[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]EnableViewState=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]false[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]CssClass=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]error[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]Runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] />[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<asp:GridView[/SIZE][/FONT][/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]id=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]grdMovies[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]DataSourceID=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]srcMovies[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]Runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] />[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=StoneSans][FONT=Times New Roman][SIZE=3]Executing Database Commands 397[/SIZE][/FONT][/FONT][/COLOR]
[B][COLOR=white][FONT=StoneSans-Semibold][FONT=Times New Roman][SIZE=3]9[/SIZE][/FONT][/FONT][/COLOR][/B]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]<asp:SqlDataSource[/SIZE][/FONT][/FONT][/COLOR]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]id=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]srcMovies[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]SelectCommand=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]SELECT * FROM DontExist[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]ConnectionString=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]<%$ ConnectionStrings:Movies %>[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]OnSelected=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]srcMovies_Selected[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][/SIZE][/FONT]
[FONT=Times New Roman][SIZE=3][COLOR=black][FONT=MonoRegular]Runat=[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]server[/FONT][/COLOR][COLOR=black][FONT=MonoRegular]”[/FONT][/COLOR][COLOR=black][FONT=MonoRegular] />[/FONT][/COLOR][/SIZE][/FONT]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</div>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</form>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</body>[/SIZE][/FONT][/FONT][/COLOR]
[COLOR=black][FONT=MonoRegular][FONT=Times New Roman][SIZE=3]</html>[/SIZE][/FONT][/FONT][/COLOR][/LEFT]
[FONT=Times New Roman][COLOR=black][FONT=MonoRegular]_______________________________________________________[/FONT][/COLOR][/FONT]
 
 
 
[/FONT]
اگر فهرست 12-9را در يک مرورگر وب بازکنيد يک خطا روي مي دهد وقتيکه کنترل SqlDataSource مبادرت مي کند سطر هايي از جدول DontExist را بازيابي مي کند.(زيرا آن وجود ندارد). در متد srcMovies_Selected() يک استثناء اتفاق مي افتد و در ليبل نمايش داده مي شود.
توجه کنيد که خاصيت ExceptionHandled براي مانع شدن استثناء استفاده شده است. اگر شما اين خاصيت را به True مقدار دهي نمي کرديد، اين صفحه گسترده مي شد.
به عبارت ديگر يک سطح کنترل خطاها کنترل SqlDataSource است، شما مي توانيدخطاها را در سطح DataBound به کنترل هااداره کنيد. کنترل هاي GridView، DetailsView و FormView همه رويداد هايي را شامل مي شوند که خاصيت هاي Exception و ExceptionHandled در معرض گذاشتن.
ادامه دارد...

 

ali-soft

عضو جدید
مديريت خطاها با استفاده از اجرای فرمان های SQL

مديريت خطاها با استفاده از اجرای فرمان های SQL

براي مثال فهرست 13-9 اين صفحه يک GridView را شامل مي شود که خطاي بوجود آمده را وقتيکه شما سعي مي کنيد محتويات جدول DontExist. ويرايش کنيد اداره مي کند.
کد:
LISTING 9.13 GridViewHandleError.aspx
_______________________________________________________
[SIZE="3"][LEFT]<%@ Page Language=”VB” %>
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.1//EN”
“http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd”>
<script runat=”server”>
Protected Sub grdMovies_RowUpdated(ByVal sender As Object,
➥ByVal e As GridViewUpdatedEventArgs)
If Not e.Exception Is Nothing Then
lblError.Text = e.Exception.Message
e.ExceptionHandled = True
End If
End Sub
</script>
<html xmlns=”http://www.w3.org/1999/xhtml” >
<head id=”Head1” runat=”server”>
<style type=”text/css”>
.error
{
display:block;
color:red;
font:bold 16px Arial;
margin:10px;
}
</style>
<title>GridView Handle Error</title>
</head>
<body>
<form id=”form1” runat=”server”>
<div>
<asp:Label
id=”lblError”
EnableViewState=”false”
CssClass=”error”
Executing Database Commands 399
9
Runat=”server” />
<asp:GridView
id=”grdMovies”
DataKeyNames=”Id”
AutoGenerateEditButton=”true”
DataSourceID=”srcMovies”
OnRowUpdated=”grdMovies_RowUpdated”
Runat=”server” />
<asp:SqlDataSource
id=”srcMovies”
SelectCommand=”SELECT Id,Title FROM Movies”
UpdateCommand=”UPDATE DontExist SET Title=@Title
WHERE Id=@ID”
ConnectionString=”<%$ ConnectionStrings:Movies %>”
Runat=”server” />
</div>
</form>
</body>
</html>[/LEFT]
[/SIZE]
 

ali-soft

عضو جدید
مثل اينکه هيچ کس اين تاپيک دوست نداره

مثل اينکه هيچ کس اين تاپيک دوست نداره

من خيلی متاسفم در سايتی عضو هستم که اعضای آن به دنبال یافتن مطالب آماده هستند و هيچ کس نمي خواهد در مورد مطالبش حتی 1 دقيقه هم فکر کند.
فوراً ميان تو سايت مطلبشون از ديگران می خواهند. و در عنوان هايشان از جملات خیلی فوری کمکم کنيد استفاده می کنند.
 

yasin_d

عضو جدید
کاربر ممتاز
با سلام
متاسفانه تا حدودی همین طور هست که شما می گید. ولی چکارش میشه کرد.

شما مطلبتون رو ادامه بدهید من خودم به شخصه این مطلب رو دنبال می کنم. مطلب کامل و عالی هست.
 

abc_ramak

عضو جدید
کاربر ممتاز
ممکنه کدهای مربوط به پست های قبلیتون رو هم مثل اینا توی قسمت کد بنویسین؟
اونجوری اصلا قابل فهم نیستن :(
 
بالا