熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

SQL語句在JavaScript中的應用

2013-11-15 12:34:28  來源: PHP編程 

  最近一直在用javascript在做項目 
可是做著做著 
感覺很多功能代碼都是重復的 

比如對javascript數組的排序 
還有對數組數據的刪選以及分組 

所以後來興致以上來 
一發不可收拾 

寫了一個能在javascript中應用的 SQL 庫 

  關於JSQL的開源問題

  其實目前我已經在考慮這個問題

  如果開源了能有更多的好朋友一起來維護

  JSQL 目前的大概結構是這樣的

  YESBRAIN 命名空間
          |
         JSQL 就是本類庫啦!
              |
             Memory JSQL 在 Objects array 中的應用封裝
              |
             Server JSQL 在 遠端 SQL server 中的應用封裝
              |
             Client JSQL 在 浏覽器 sqlite 中的應用封裝
              |
             DOM JSQL 在 對 WC DOM 的的應用封裝

  

  有興趣的朋友可以
QQ: 聯系我
或者 Email : gongji at qq dot com

  已經開放了
SVN checkout 地址

  裡面有幾個例子和全部JSQL得源代碼
 

  
後來又想怎麼不能用javascript直接連接數據庫呢? 
又做了一個javascript直連Sql數據的類庫 

  後來又想到其實還可以用SQL語句來操作HTML DOM模型 

再再再後來又看到了HTML中對web DB的實現 
所以對webDB就是chrome和safari中的sqlite的封裝 

於是乎就有了 

從服務器上獲取數據執行SQL操作 

  _SQLPROXYURL_ = SQLProxyphp;
 _SQLSERVERHOST_ = localhost;
 _SQLUSERNAME_ = root;
 _SQLPASSWORD_ = ;
 _SQLDATABASE_ = HotelManageMent;

  var result = "select * from Room"OnServer()executeSQL();
 for(var i=; i<resultlength; i++) {
     //do something here using result[i];
 }

  操作Javascript Object Array 執行SQL操作

  var Room = [
   {
    ID: bot
    name: test
    sex: true
   } {
    ID:
    name: test
    sex: true
   } {
    ID:
    name: test
    sex: false
   } {
    ID:
    name: test
    sex: true
   }];

  SQL = "select Max(id) as bidSum(id) as total from records where name like "test%" group by sex order by id descname asc";
 var result = SQLexecuteSQL();
 for(var i=; i<resultlength; i++) {
     //do something here using result[i];
 };
 "create table mytable"executeSQL();
 for(var j=; j<; j++) {
  "insert into mytable (idnamesex) values(zhangsantrue) "executeSQL();
 };

  操作Object Array
其實還可以這樣操作

  var Room = [
   {
    ID: bot
    name: test
    sex: true
   } {
    ID:
    name: test
    sex: true
   } {
    ID:
    name: test
    sex: false
   } {
    ID:
    name: test
    sex: true
   }];
"update Room set name = man where sex=true"executeSQL();

  支持的SQL語句有 SELECT INSERT UPDATE DELETE CREATE TABLE DROP TABLE

  上回說道我發現DOM其實也可以用SQL操作
  比方說你可以直接插入個圖片element操作如下

  create table logolistForDOM()executeSQL();
  for(var i=;i<;i++) {
   "insert into logolist(nodenametitlesrc) values (imggoogleimages/googlegif)"ForDOM()execute();
  };

  或者是DELETE這些符合條件的元素

  ("delete from logolist where title=google")ForDOM()execute();

  亦或是充當selector

  var result = ("select * from logolist")ForDOM()execute();
 for(var i=;i<resultlength;i++) {
  result[i]src = baidugif;
 };

  接上文說道的JSQL

  當然隨著HTML的普及web DB 已經是大勢所趨了

  所以JSQL封裝到

  _CLIENTDATABASE_ = HotelManage;
 _CLIENTDBVERSION_ = ;
 _CLIENTDBDESC_ = "First Client DataBase";
 _CLIENTDBSIZE_ = ;

  
 JSQL("create table sqllite(id int)")OnClient()execute();

  for (var i = ; i < ; i++) {
  JSQL("insert into sqllite (id) values ("+i+")")OnClient()execute();
 };
 var result = ("select * from sqllite")OnClient()executeSQL();
 //alert(result);
 for(var i=;i<resultlength;i++) {
  //do something using result[i] 
};

  當然web DB 的sqlite同樣支持Insert / select / update / delete / create / drop table
甚至更加牛逼的sql語句
From:http://tw.wingwit.com/Article/program/PHP/201311/21199.html

    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.