【10】AngularJS SQL

AngularJS SQL

使用 PHP 从 MySQL 中获取数据

  1. <div ng-app="myApp" ng-controller="customersCtrl">
  2. <table>
  3. <tr ng-repeat="x in names">
  4. <td>{{ x.Name}}</td>
  5. <td>{{ x.Country}}</td>
  6. </tr>
  7. </table>
  8. </div>
  9. <script>
  10. var app = angular.module(‘myApp‘,[]);
  11. app.controller(‘customersCtrl‘,function($scope, $http){
  12. $http.get("test.php")
  13. .success(function(response){$scope.names = response.records;});
  14. });
  15. </script>

ASP.NET 中执行 SQL 获取数据

  1. <div ng-app="myApp" ng-controller="customersCtrl">
  2. <table>
  3. <tr ng-repeat="x in names">
  4. <td>{{ x.Name}}</td>
  5. <td>{{ x.Country}}</td>
  6. </tr>
  7. </table>
  8. </div>
  9. <script>
  10. var app = angular.module(‘myApp‘,[]);
  11. app.controller(‘customersCtrl‘,function($scope, $http){
  12. $http.get("test.aspx")
  13. .success(function(response){$scope.names = response.records;});
  14. });
  15. </script>

test.aspx 内容:

  1. {"records":[
  2. {
  3. "Name":"Alfreds Futterkiste",
  4. "City":"Berlin",
  5. "Country":"Germany"
  6. },
  7. {
  8. "Name":"Berglunds snabbköp",
  9. "City":"Luleå",
  10. "Country":"Sweden"
  11. },
  12. {
  13. "Name":"Centro comercial Moctezuma",
  14. "City":"México D.F.",
  15. "Country":"Mexico"
  16. },
  17. {
  18. "Name":"Ernst Handel",
  19. "City":"Graz",
  20. "Country":"Austria"
  21. },
  22. {
  23. "Name":"FISSA Fabrica Inter. Salchichas S.A.",
  24. "City":"Madrid",
  25. "Country":"Spain"
  26. },
  27. {
  28. "Name":"Galería del gastrónomo",
  29. "City":"Barcelona",
  30. "Country":"Spain"
  31. },
  32. {
  33. "Name":"Island Trading",
  34. "City":"Cowes",
  35. "Country":"UK"
  36. },
  37. {
  38. "Name":"Königlich Essen",
  39. "City":"Brandenburg",
  40. "Country":"Germany"
  41. },
  42. {
  43. "Name":"Laughing Bacchus Wine Cellars",
  44. "City":"Vancouver",
  45. "Country":"Canada"
  46. },
  47. {
  48. "Name":"Magazzini Alimentari Riuniti",
  49. "City":"Bergamo",
  50. "Country":"Italy"
  51. },
  52. {
  53. "Name":"North/South",
  54. "City":"London",
  55. "Country":"UK"
  56. },
  57. {
  58. "Name":"Paris spécialités",
  59. "City":"Paris",
  60. "Country":"France"
  61. },
  62. {
  63. "Name":"Rattlesnake Canyon Grocery",
  64. "City":"Albuquerque",
  65. "Country":"USA"
  66. },
  67. {
  68. "Name":"Simons bistro",
  69. "City":"København",
  70. "Country":"Denmark"
  71. },
  72. {
  73. "Name":"The Big Cheese",
  74. "City":"Portland",
  75. "Country":"USA"
  76. },
  77. {
  78. "Name":"Vaffeljernet",
  79. "City":"Århus",
  80. "Country":"Denmark"
  81. },
  82. {
  83. "Name":"Wolski Zajazd",
  84. "City":"Warszawa",
  85. "Country":"Poland"
  86. }
  87. ]}

服务端代码

以下列出了列出了几种服务端代码类型:

  1. 使用 PHP 和 MySQL。返回 JSON。
  2. 使用 PHP 和 MS Access。返回 JSON。
  3. 使用 ASP.NET, VB, 及 MS Access。 返回 JSON。
  4. 使用 ASP.NET, Razor, 及 SQL Lite。 返回 JSON。

跨域 HTTP 请求

如果你需要从不同的服务器(不同域名)上获取数据就需要使用跨域 HTTP 请求。

跨域请求在网页上非常常见。很多网页从不同服务器上载入 CSS, 图片,Js脚本等。

在现代浏览器中,为了数据的安全,所有请求被严格限制在同一域名下,如果需要调用不同站点的数据,需要通过跨域来解决。

以下的 PHP 代码运行使用的网站进行跨域访问。

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

1. PHP 和 MySql 代码实例

  1. <?php
  2. header("Access-Control-Allow-Origin: *");
  3. header("Content-Type: application/json; charset=UTF-8");
  4. $conn =new mysqli("myServer","myUser","myPassword","Northwind");
  5. $result = $conn->query("SELECT CompanyName, City, Country FROM Customers");
  6. $outp ="";
  7. while($rs = $result->fetch_array(MYSQLI_ASSOC)){
  8. if($outp !=""){$outp .=",";}
  9. $outp .=‘{"Name":"‘. $rs["CompanyName"].‘",‘;
  10. $outp .=‘"City":"‘. $rs["City"].‘",‘;
  11. $outp .=‘"Country":"‘. $rs["Country"].‘"}‘;
  12. }
  13. $outp =‘{"records":[‘.$outp.‘]}‘;
  14. $conn->close();
  15. echo($outp);
  16. ?>

2. PHP 和 MS Access 代码实例

  1. <?php
  2. header("Access-Control-Allow-Origin: *");
  3. header("Content-Type: application/json; charset=ISO-8859-1");
  4. $conn =new COM("ADODB.Connection");
  5. $conn->open("PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=Northwind.mdb");
  6. $rs = $conn->execute("SELECT CompanyName, City, Country FROM Customers");
  7. $outp ="";
  8. while(!$rs->EOF){
  9. if($outp !=""){$outp .=",";}
  10. $outp .=‘{"Name":"‘. $rs["CompanyName"].‘",‘;
  11. $outp .=‘"City":"‘. $rs["City"].‘",‘;
  12. $outp .=‘"Country":"‘. $rs["Country"].‘"}‘;
  13. $rs->MoveNext();
  14. }
  15. $outp =‘{"records":[‘.$outp.‘]}‘;
  16. $conn->close();
  17. echo ($outp);
  18. ?>

3. ASP.NET, VB 和 MS Access 代码实例

  1. <%@ImportNamespace="System.IO"%>
  2. <%@ImportNamespace="System.Data"%>
  3. <%@ImportNamespace="System.Data.OleDb"%>
  4. <%
  5. Response.AppendHeader("Access-Control-Allow-Origin","*")
  6. Response.AppendHeader("Content-type","application/json")
  7. Dim conn AsOleDbConnection
  8. Dim objAdapter AsOleDbDataAdapter
  9. Dim objTable AsDataTable
  10. Dim objRow AsDataRow
  11. Dim objDataSet AsNewDataSet()
  12. Dim outp
  13. Dim c
  14. conn =NewOledbConnection("Provider=Microsoft.Jet.OLEDB.4.0;data source=Northwind.mdb")
  15. objAdapter =NewOledbDataAdapter("SELECT CompanyName, City, Country FROM Customers", conn)
  16. objAdapter.Fill(objDataSet,"myTable")
  17. objTable=objDataSet.Tables("myTable")
  18. outp =""
  19. c = chr(34)
  20. for each x in objTable.Rows
  21. if outp <>"" then outp = outp &","
  22. outp = outp &"{"& c &"Name"& c &":"& c & x("CompanyName")& c &","
  23. outp = outp & c &"City"& c &":"& c & x("City")& c &","
  24. outp = outp & c &"Country"& c &":"& c & x("Country")& c &"}"
  25. next
  26. outp ="{"& c &"records"& c &":["& outp &"]}"
  27. response.write(outp)
  28. conn.close
  29. %>

4. ASP.NET, VB Razor 和 SQL Lite 代码实例

  1. @{
  2. Response.AppendHeader("Access-Control-Allow-Origin","*")
  3. Response.AppendHeader("Content-type","application/json")
  4. var db =Database.Open("Northwind");
  5. var query = db.Query("SELECT CompanyName, City, Country FROM Customers");
  6. var outp =""
  7. var c = chr(34)
  8. }
  9. @foreach(var row in query)
  10. {
  11. if outp <>"" then outp = outp +","
  12. outp = outp +"{"+ c +"Name"+ c +":"+ c +@row.CompanyName+ c +","
  13. outp = outp + c +"City"+ c +":"+ c +@row.City+ c +","
  14. outp = outp + c +"Country"+ c +":"+ c +@row.Country+ c +"}"
  15. }
  16. outp ="{"+ c +"records"+ c +":["+ outp +"]}"
  17. @outp
时间: 2024-10-13 11:44:35

【10】AngularJS SQL的相关文章

【原创 Hadoop&amp;Spark 动手实践 10】Spark SQL 程序设计基础与动手实践(下)

[原创 Hadoop&Spark 动手实践 10]Spark SQL 程序设计基础与动手实践(下) 目标: 1. 深入理解Spark SQL 程序设计的原理 2. 通过简单的命令来验证Spark SQL的运行原理 3. 通过一个完整的案例来验证Spark SQL的运行原理,自己实际动手来进行掌握 4. 顺利完成“篮球运动员评估系统”

【转】数据库SQL优化大总结之 百万级数据库优化方案

原帖地址:http://www.cnblogs.com/yunfeifei/p/3850440.html#undefined 1.对查询进行优化,要尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 最好不要给数据库留NULL,尽可能的使用 NOT NULL填充数据库. 备注.描

【转】用sql语句创建表的时候给列指定说明(描述)

用sql语句创建表的时候,如何给列指定说明.主要用到sp_addextendedproperty这个存储过程. 语法   sp_addextendedproperty     [ @name = ] { 'property_name' }     [ , [ @value = ] { 'value' }         [ , [ @level0type = ] { 'level0_object_type' }                     , [ @level0name = ] {

【转】MS SQL 十大最佳存储实践

http://blog.itpub.net/618537/viewspace-683547/?bsh_bid=368266306 [转]MS SQL 十大最佳存储实践,布布扣,bubuko.com

【Oracle】ORACLE SQL Developer不支持JAVA版本

ORACLE SQL Developer不支持JAVA版本 今天我打开 ORACLE SQL Developer准备开始练手.没有想到却给出了错误提示. 我 是安装了java JDK的而且是1.6版本的.我可能选择了bin目录下面的java.exe文件,原本觉得这样的操作应该是没有问题的结果还是出现了错误.具体错误信息如 下:不支持的java版本,不支持java 6.0发行版本1.6.0_xxx,请升级到java 6.0发行版本1.6.0_04.或者降级到java 5.0发行版本1.5.0或更高

企业IT管理员IE11升级指南【10】—— 如何阻止IE11的安装

企业IT管理员IE11升级指南 系列: [1]—— Internet Explorer 11增强保护模式 (EPM) 介绍 [2]—— Internet Explorer 11 对Adobe Flash的支持 [3]—— IE11 新的GPO设置 [4]—— IE企业模式介绍 [5]—— 不跟踪(DNT)例外 [6]—— Internet Explorer 11面向IT专业人员的常见问题 [7]—— Win7和Win8.1上的IE11功能对比 [8]—— Win7 IE8和Win7 IE11对比

Android自定义组件系列【10】——随ViewPager滑动的导航条

昨天在用到ViewPager实现滑动导航的时候发现微信的导航条效果是跟随ViewPager的滑动而动的,刚开始想了一下,感觉可以使用动画实现,但是这个滑动是随手指时时变化的,貌似不可行,后来再网上搜了一下,找到一个开源代码,结果打开一看大吃一惊,这么简单的效果代码居然大概有300多行,太占手机存储空间了!后来自己干脆重写ViewGroup使用scrollTo方法实现了一下,具体实现过程如下: package com.example.slideupdownviewpage; import andr

【原】新装SQL Server 2014 遇到问题的解决方法。

[尝试读取或写入受保护的内存.这通常指示其他内存已损坏. (System.Data)] 管理员身份运行 cmd -> 输入 netsh winsock reset 提问者评价 曾经让我重装系统的bug,一句话就就解决了,谢谢你~ 评论 | 2 [原]新装SQL Server 2014 遇到问题的解决方法.

【10】了解Bootstrap栅格系统基础案例(5)

这次我们来说下列排序: 通过使用 .col-md-push-* 和 .col-md-pull-* 类就可以很容易的改变列(column)的顺序. <!DOCTYPE html> <html lang="zh-cn"> <head> <meta charset="utf-8"> <!-- Bootstrap不支持IE的兼容模式,加入此标签以确保在每个被支持的IE浏览器中保持最好的页面展现效果 --> <