گروه مقاله : جاوا اسكريپت Java Script
تاريخ انتشار : 1396/05/26 - 12:50
كد :7787

چگونه آنگولارجی اس را به بانک داده متصل کنیم

در این مقاله نحوه اتصال آنگولار به بانک داده و ارجاع داده توسط دستورات سمت سرور را مرور می کنیم.

آموزش طراحی سایت

اگر مقالات قبلی آنگولار را مطالعه کرده باشید میدانید که این نرم افزار توانایی خارق العاده ای در برقراری ارتباط با بانک های داده دارد. نحوه کد نویسی در آنگولار کمک می کند که با کدهای ساده اطلاعات زیادی را به صورت سازماندهی شده فراخوانی و به نمایش بگذاریم.

در این آموزش نحوه اتصال آنگولار به بانک های داده را توضیح خواهیم داد.

خواندن داده ها از یک سرور php با بانک داده MySQL :

 

<div ng-app="myApp" ng-controller="customersCtrl">

<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>
</tr>
</table>

</div>

<script>
var app = angular.module('myApp', []);
app.controller(
'customersCtrl', function($scope, $http) {
$http.get(
"customers_mysql.php")
.then(
function (response) {$scope.names = response.data.records;});
});

</script>

مشاهده نتیجه

 

دریافت داده از سرور Asp.net با بانک SQL :

 

<div ng-app="myApp" ng-controller="customersCtrl">

<table>
<tr ng-repeat="x in names">
<td>{{ x.Name }}</td>
<td>{{ x.Country }}</td>
</tr>
</table>

</div>

<script>
var app = angular.module('myApp', []);
app.controller(
'customersCtrl', function($scope, $http) {
$http.get(
"customers_sql.aspx")
.then(
function (response) {$scope.names = response.data.records;});
});

</script>

مشاهده نتیجه

 

مثال های کدهای سمت سرور

قسمت های زیر لیست کد های سمت سرور برای گرداوری داده از SQL است.

  1. استفاده از PHP و MySQL برای ارجاع داده با JSON.
  2. استفاده از PHP و MS Access، برای ارجاع داده توسط JSON.
  3. استفاده از ASP.NET و VB و MS Access و ارجاع داده ها با کمک JSON
  4. استفاده از ASP.NET و Razor و SQL Lite برای ارجاع داده با JSON.

 

استفاده از Cross-Site HTTP Requests :

درخواست داده از سرورهای مختلف ، به عنوان cross-site HTTP requests شناخته میشود.

 

Cross-site requests کار معمولی در عرصه وب است. سایت های زیادی CSS ها عکس ها و اسکریپتهای خود را از سرورهای مختلف بارگذاری می کنند.

در مرورگرهای جدید cross-site HTTP requests ها به دلایل امنیتی محدودیت های دارند.

کد های زیر مثال های از کد ها یPHP میباشند. که برای صدور مجوز cross-site access بکار میروند.

header("Access-Control-Allow-Origin: *");

  1. کدهای سمت سرور PHP و MySQL

 

<?php
header("Access-Control-Allow-Origin: *");
header(
"Content-Type: application/json; charset=UTF-8");

$conn =
new mysqli("myServer", "myUser", "myPassword", "Northwind");

$result = $conn->query(
"SELECT CompanyName, City, Country FROM Customers");

$outp =
"";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {$outp .= ",";}
$outp .=
'{"Name":"' . $rs["CompanyName"] . '",';
$outp .=
'"City":"' . $rs["City"] . '",';
$outp .=
'"Country":"'. $rs["Country"] . '"}';
}
$outp =
'{"records":['.$outp.']}';
$conn->close();


echo($outp);
?>

 

  1. کد های سمت سرور PHP و MS Access:

 

<?php
header("Access-Control-Allow-Origin: *");
header(
"Content-Type: application/json; charset=ISO-8859-1");

$conn =
new COM("ADODB.Connection");
$conn->open(
"PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb");

$rs = $conn->execute(
"SELECT CompanyName, City, Country FROM Customers");

$outp =
"";
while (!$rs->EOF) {
if ($outp != "") {$outp .= ",";}
$outp .=
'{"Name":"' . $rs["CompanyName"] . '",';
$outp .=
'"City":"' . $rs["City"] . '",';
$outp .=
'"Country":"'. $rs["Country"] . '"}';
$rs->MoveNext();
}
$outp =
'{"records":['.$outp.']}';

$conn->close();


echo ($outp);
?>

3. کد های سمت سرور ASP.NET و VB و MS Access:

 

<%@ Import Namespace="System.IO"%>
<%@ Import Namespace="System.Data"%>
<%@ Import Namespace="System.Data.OleDb"%>
<%


Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
Dim conn As OleDbConnection
Dim objAdapter As OleDbDataAdapter
Dim objTable As DataTable
Dim objRow As DataRow
Dim objDataSet As New DataSet()
Dim outp
Dim c
conn = New OledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
objAdapter = New OledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)


objAdapter.Fill(objDataSet, "myTable")
objTable=objDataSet.Tables("myTable")

outp = ""
c = chr(34)
for each x in objTable.Rows
if outp <> "" then outp = outp & ","
outp = outp & "{" & c & "Name"    & c & ":" & c & x("CompanyName") & c & ","
outp = outp &       c & "City"    & c & ":" & c & x("City")        & c & ","
outp = outp &       c & "Country" & c & ":" & c & x("Country")     & c & "}"
next


outp ="{" & c & "records" & c & ":[" & outp & "]}"
response.write(outp)
conn.close
%>

4. کد های سمت سرور ASP.NET,Razor C#  و SQL lite:

@{
Response.AppendHeader("Access-Control-Allow-Origin", "*")
Response.AppendHeader("Content-type", "application/json")
var db = Database.Open("Northwind");
var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
var outp =""
var c = chr(34)
}
@foreach(var row in query){
if (outp != "") {outp = outp + ","}
outp = outp + "{" + c + "Name" + c + ":" + c + @row.CompanyName + c + ","
outp = outp + c + "City" + c + ":" + c + @row.City + c + ","
outp = outp + c + "Country" + c + ":" + c + @row.Country + c + "}"
}
outp ="{" + c + "records" + c + ":[" + outp + "]}"
@outp

 

براي بهره مندي از مشاوره تخصصي در زمینه طراحی سایت در کرج با شرکت سارگون تماس بگيريد

نظرات كاربران :