معماری بدون اتصال (Connectionless) در ADO.NET
جمعه 6 فروردین 1395همانطور که می دانیم یک زبان ،سینتکس زبان دیگر را درک نمیکند، بنابراین یک مترجم به عنوان میانجی بین دو زبان وجود خواهد داشت. ADO به عنوان یک میانجی بین کلاینت و سمت سرور رفتار می کند.
معرفی
ADO مخفف active data objectاست. از آن به عنوان یک میانجی بین کلاینت و سمت سرور رفتار می کند. همانطور که می دانیم یک زبان ،سینتکس زبان دیگر را درک نمیکند، بنابراین یک مترجم به عنوان میانجی بین دو زبان وجود خواهد داشت:
در شکل بالا دو نفر وجود دارد. یک نفر یک سخنران انگلیسی است و یکی دیگر سخنران فارسی است بنابراین یک مترجم برای برقراری ارتباط به هر دو آنها کمک میکند.
اتصال معماری less oriented
اتصال معماری less oriented شامل :
Connection
DataAdapter
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:
- C#.net
- 2k بازدید
- 4 تشکر