【10】AngularJS SQL
AngularJS SQL
使用 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("test.php")
.success(function(response){$scope.names = response.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("test.aspx")
.success(function(response){$scope.names = response.records;});
});
</script>
{"records":[
{
"Name":"Alfreds Futterkiste",
"City":"Berlin",
"Country":"Germany"
},
{
"Name":"Berglunds snabbköp",
"City":"Luleå",
"Country":"Sweden"
},
{
"Name":"Centro comercial Moctezuma",
"City":"México D.F.",
"Country":"Mexico"
},
{
"Name":"Ernst Handel",
"City":"Graz",
"Country":"Austria"
},
{
"Name":"FISSA Fabrica Inter. Salchichas S.A.",
"City":"Madrid",
"Country":"Spain"
},
{
"Name":"Galería del gastrónomo",
"City":"Barcelona",
"Country":"Spain"
},
{
"Name":"Island Trading",
"City":"Cowes",
"Country":"UK"
},
{
"Name":"Königlich Essen",
"City":"Brandenburg",
"Country":"Germany"
},
{
"Name":"Laughing Bacchus Wine Cellars",
"City":"Vancouver",
"Country":"Canada"
},
{
"Name":"Magazzini Alimentari Riuniti",
"City":"Bergamo",
"Country":"Italy"
},
{
"Name":"North/South",
"City":"London",
"Country":"UK"
},
{
"Name":"Paris spécialités",
"City":"Paris",
"Country":"France"
},
{
"Name":"Rattlesnake Canyon Grocery",
"City":"Albuquerque",
"Country":"USA"
},
{
"Name":"Simons bistro",
"City":"København",
"Country":"Denmark"
},
{
"Name":"The Big Cheese",
"City":"Portland",
"Country":"USA"
},
{
"Name":"Vaffeljernet",
"City":"Århus",
"Country":"Denmark"
},
{
"Name":"Wolski Zajazd",
"City":"Warszawa",
"Country":"Poland"
}
]}
服务端代码
以下列出了列出了几种服务端代码类型:
- 使用 PHP 和 MySQL。返回 JSON。
- 使用 PHP 和 MS Access。返回 JSON。
- 使用 ASP.NET, VB, 及 MS Access。 返回 JSON。
- 使用 ASP.NET, Razor, 及 SQL Lite。 返回 JSON。
跨域 HTTP 请求
如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求。
跨域请求在网页上非常常见。很多网页从不同服务器上载入 CSS, 图片,Js脚本等。
在现代浏览器中,为了数据的安全,所有请求被严格限制在同一域名下,如果需要调用不同站点的数据,需要通过跨域来解决。
以下的 PHP 代码运行使用的网站进行跨域访问。
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);
?>
2. 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 代码实例
<%@ImportNamespace="System.IO"%>
<%@ImportNamespace="System.Data"%>
<%@ImportNamespace="System.Data.OleDb"%>
<%
Response.AppendHeader("Access-Control-Allow-Origin","*")
Response.AppendHeader("Content-type","application/json")
Dim conn AsOleDbConnection
Dim objAdapter AsOleDbDataAdapter
Dim objTable AsDataTable
Dim objRow AsDataRow
Dim objDataSet AsNewDataSet()
Dim outp
Dim c
conn =NewOledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
objAdapter =NewOledbDataAdapter("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, VB Razor 和 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 <>"" then 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
【10】AngularJS SQL的更多相关文章
- 【原创 Hadoop&Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)
[原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spar ...
- 【数据库】优化SQL语言
第1章数据模型设计 第1条:确保所有表都有主键 [1]当表缺少主键时,会出现各种问题,所有表都必须有一列(或多列)设置为主键. [2]主键应当具备的特征 唯一性,值非空,不可变,尽可能简单 [3]不要 ...
- 【转】PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理
[转]PL/SQL编辑数据"这些查询结果不可更新,请包括ROWID或使用SELECT...FOR UPDATE获得可更新结果"处理 只要有人用了: select t.* from ...
- 企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装
企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flas ...
- 【10】css hack原理及常用hack
[10]css hack原理及常用hack 原理:利用不同浏览器对CSS的支持和解析结果不一样编写针对特定浏览器样式.常见的hack有1)属性hack.2)选择器hack.3)IE条件注释 IE条件注 ...
- 【MyBatis】动态 SQL
[MyBatis]动态 SQL 转载: 目录 ========================================== 1.if 2.choose when otherwise 3.tri ...
- 【转】PL/SQL 使用技巧
ref:http://blog.chinaunix.net/uid-21592001-id-3082675.html [转]plsql developer 使用技巧 Oracle数据库相信已成为很多企 ...
- 【MySQL】为什么SQL会这么慢
建表 CREATE TABLE `ts_ab` ( `id` int(11) NOT NULL, `a` int(11) DEFAULT NULL, `b` varchar(20) CHARACTER ...
- 【转载】通过sql server 连接mysql
http://www.cnblogs.com/goole/p/5291286.html 1.在SQL SERVER服务器上安装MYSQL ODBC驱动; 驱动下载地址:http://dev.mysql ...
随机推荐
- win10设置锁屏时间
这里应该修改成自己希望的分钟数 比如120分钟
- bzoj 2199: [Usaco2011 Jan]奶牛议会【2-SAT】
好久没写2-SAT了啊,还以为是网络流 设点x为选,x'为不选,因为一头牛至少要满足一个条件,所以对于牛条件的两个点,选了一个不符合的点,就要选另一个符合的点,这样连两条边 然后枚举所有议案的选和不选 ...
- 使用Oracle实现的MyBatis分页查询效果
1.mybatis.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE configur ...
- YumRepo Error: All mirror URLs are not using ftp, http[s] or file
有台机器使用Yum的时候,报错如下: YumRepo Error: All mirror URLs are not using ftp, http[s] or file. Eg. $releaseve ...
- VS2013使用单元测试
一.开发环境 开发工具:VS2013 二.开发流程 1.添加一个控制台项目UnitDemo namespace UnitDemo { public class Program { static voi ...
- jvm内存分区
java内存是由jvm进行管理的,其内存简易模型如下图: jvm管理的内存大体上可分为方法区.堆.程序计数器.线程栈.本地方法区这几部分.方法区:主要存放类的元信息(包括类的名称.修饰符.静态变量.f ...
- es6 export-from用法
语法: export * from "foo"; export {foo} from "foo"; export {foo, bar} from "f ...
- CSS3 opacity
opacity用来设置元素的透明度. 值被约束在[0.-1.0]范围内,如果超过了这个范围,其计算结果将截取到与之最相近的值. 0表示完全透明,1表示完全不透明. 浏览器支持: (1).IE浏览器支持 ...
- C++帮助文档(自己写的)
以下所有记录几乎都是摘抄自<C++ primer 5th 中文> auto 类型说明符 P61 特点: 1. 定义的变量必须有初始值 2. 通过初始值来推算变量的类 ...
- V形
<!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...