معماری بدون اتصال (Connectionless) در ADO.NET

جمعه 6 فروردین 1395

همانطور که می دانیم یک زبان ،سینتکس زبان دیگر را درک نمیکند، بنابراین یک مترجم به عنوان میانجی بین دو زبان وجود خواهد داشت. ADO به عنوان یک میانجی بین کلاینت و سمت سرور رفتار می کند.

معماری بدون اتصال  (Connectionless) در ADO.NET

معرفی

ADO مخفف active data objectاست. از آن به عنوان یک میانجی بین کلاینت و سمت سرور رفتار می کند. همانطور که می دانیم یک زبان ،سینتکس زبان دیگر را درک نمیکند، بنابراین یک مترجم به عنوان میانجی بین دو زبان وجود خواهد داشت:

در شکل بالا دو نفر وجود دارد. یک نفر یک سخنران انگلیسی است و یکی دیگر سخنران فارسی است بنابراین یک مترجم  برای برقراری ارتباط به هر دو آنها کمک میکند.

اتصال معماری less oriented

اتصال معماری less oriented شامل :

Connection

DataAdapter

DataSet

Connection

استفاده از کلاس Connection برای ایجاد ارتباط بین front end و back end.

    SqlConnection con=new SqlConnection(“integratd security=true;initial catalog=Table Name;data source=.”);  

data adapter : dataadapter  به عنوان یک میانجی بین منبع داده و جدول است  .

    SqlDataAdapter da=new SqlDataAdapter(“Query which has to excute”,Connection object);  

DataSet :    همانطور که در شکل زیر میبینید DataSetشامل جداول و روابط است:

data adapter خواصی از جهت داده ندارد، بنابراین یک dataset  شامل جدول و روابط پس از تولید result set است

Syntax برای DataSet ها:

DataSet ds=new DataSet();
Da.Fill(ds,”X”);

معماری connection less مانند شکل زیر است:

تعامل سمت کلاینت با سمت سرور از طریق ADO.NET است. بنابراین ADO.NET  از گروهی کلاس که شامل Connection ، Command ، data adapter ، و DataSet استفاده میکند.

انجام کار با معماری  connection less

کار بر روی back end

 از قسمتstart   ،برنامه SQL Server Management Studio   را انتخاب کنید.
در SSMS  کلیک کنید.

  مانند شکل :

در قسمت Object Explorer ،

Database راست کلیک کرده و دیتابیسی ایجاد کنید

در حال حاضر در دیتابیس تازه ایجاد شده ،جدولی ایجاد کنید. پس از ایجاد دیتابیس به object explorer بروید
انتخاب دیتابیس و ،سپس جدول را انتخاب کنید. مانند شکل زیر :.

با  استفاده از کوئری زیر داده ها را در جدول درج کنید:

    insertinto Emp values(1,'Sandeep',20000,'Y')  
    insertinto Emp values(2,'Mukesh',20000,'Y')  
    insertinto Emp values(3,'Rakesh',30000,'N')  
    insertinto Emp values(4,'Pappu',35000,'Y')  
    insertinto Emp values(5,'Dinesh',25000,'Y')  
    insertinto Emp values(6,'Munna',28000,'N')  
    insertinto Emp values(7,'Prakash',3200,'Y')  

حالا query را اجرا کنید: Select * from Emp که خروجی همانطور که در شکل زیر را تولید خواهد کرد:

کار بر روی front end.
     برو به ویژوال استودیو.

یک web application و صفحه  aspx ایجاد کرده و کد زیر را برای طراحی در آن وارد میکنیم:

    <%@PageLanguage="C#"AutoEventWireup="true"CodeBehind="DataList.aspx.cs"Inherits="IARE_Bus.DataList"%>  
    <!DOCTYPE html>  
    <html xmlns="http://www.w3.org/1999/xhtml">  
        <head runat="server">  
            <title></title>  
        </head>  
        <body>  
            <form id="form1"runat="server">  
                <div>  
                    <asp:DataListID="DataList1"runat="server"OnSelectedIndexChanged="DataList1_SelectedIndexChanged">  
                        <HeaderTemplate>  
    StartingPoint  EndPoint   Via    Driver   Bus_No  
    </HeaderTemplate>  
                        <ItemTemplate><%#Eval("StartingPoint") %                               >    
                            <%#Eval("EndingPoint") %>    
                            <%#Eval("Via") %>    
                            <%#Eval("Driver") %>    
                            <%#Eval("Bus_No") %>  
                        </ItemTemplate>  
                    </asp:DataList>  
                </div>  
            </form>  
        </body>  
    </html>  

طراحی web application به شرح زیر خواهد بود:

به aspx.cs رفته و کدهای زیر را در آن واردکنید

    using System;  
    using System.Collections.Generic;  
    using System.Linq;  
    using System.Web;  
    using System.Web.UI;  
    using System.Web.UI.WebControls;  
    using System.Data;  
    using System.Data.SqlClient;  
    namespace IARE_Bus  
    {  
    public partial class DataList : System.Web.UI.Page  
        {  
    SqlConnection con = newSqlConnection("integrated security=true;initial catalog=Iare;data source=.");  
    SqlDataAdapter da;  
    protected void Page_Load(object sender, EventArgs e)  
            {  
    string s = "select * from BusInfo";  
    da = newSqlDataAdapter(s, con);  
    DataSet ds = newDataSet();  
    da.Fill(ds, "Bus");  
                DataList1.DataSource = ds.Tables[0];  
    DataList1.DataBind();  
            }  
      
    protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)  
            {  
      
            }  
        }  
    }  

در حال حاضر نرم افزار را اجرا  و بررسی کنید. در کنترل DataList تمام جزئیات  اطلاعات جدول BusInfo نمایش داده خواهد شد  .

مقالات بیشتر درباره ی  ADO.NET:

مبانی ADO.NET

بررسی اجمالی معماری ADO.NET

آموزش سی شارپ

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 4 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید