JavaScript中SQL語(yǔ)句的應(yīng)用實(shí)現(xiàn)
更新時(shí)間:2010年05月04日 17:13:16 作者:
最近一直在用javascript在做項(xiàng)目 可是做著做著 感覺(jué)很多功能代碼都是重復(fù)的。
比如對(duì)javascript數(shù)組的排序
還有對(duì)數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來(lái)興致以上來(lái)。
一發(fā)不可收拾。
寫了一個(gè)能在javascript中應(yīng)用的 SQL 庫(kù)
后來(lái)又想,怎么不能用javascript直接連接數(shù)據(jù)庫(kù)呢?
又做了一個(gè)javascript直連Sql數(shù)據(jù)的類庫(kù)
后來(lái),又想到其實(shí)還可以用SQL語(yǔ)句來(lái)操作HTML DOM模型
再再再后來(lái),又看到了HTML5中對(duì)web DB的實(shí)現(xiàn)
所以對(duì)webDB,就是chrome和safari中的sqlite的封裝
于是乎就有了:
1.從服務(wù)器上獲取數(shù)據(jù)、執(zhí)行SQL操作:
_SQLPROXYURL_ = 'SQLProxy.php';
_SQLSERVERHOST_ = 'localhost';
_SQLUSERNAME_ = 'root';
_SQLPASSWORD_ = '';
_SQLDATABASE_ = 'HotelManageMent';
var result = "select * from Room".OnServer().executeSQL();
for(var i=0; i<result.length; i++) {
//do something here.... using result[i];
}
2.操作Javascript Object Array 、執(zhí)行SQL操作:
var Room = [
{
ID: 'bot',
name: 'test',
sex: true
}, {
ID: 2,
name: 'test8',
sex: true
}, {
ID: 3,
name: 'test5',
sex: false
}, {
ID: 4,
name: 'test2',
sex: true
}];
SQL = "select Max(id) as bid,Sum(id) as total from records where name like \"test%\" group by sex order by id desc,name asc";
var result = SQL.executeSQL();
for(var i=0; i<result.length; i++) {
//do something here.... using result[i];
};
"create table mytable".executeSQL();
for(var j=0; j<100; j++) {
"insert into mytable (id,name,sex) values(2,'zhangsan',true) ".executeSQL();
};
sql語(yǔ)句都寫外面了。安全嗎?
關(guān)于安全問(wèn)題首先這本身不打算做互聯(lián)網(wǎng)應(yīng)用,面向局域網(wǎng)。其次數(shù)據(jù)庫(kù)的連接有ssl加密,其實(shí)http也有ssl,再者。遠(yuǎn)程調(diào)用服務(wù)只是JSQL的四大模塊之一。還有可以不經(jīng)過(guò)服務(wù)來(lái)操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁(yè)的DOM。我這里的SQL只是代表一種語(yǔ)言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫(kù),還有三個(gè)模塊是面對(duì)前段的操作
還有對(duì)數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來(lái)興致以上來(lái)。
一發(fā)不可收拾。
寫了一個(gè)能在javascript中應(yīng)用的 SQL 庫(kù)
后來(lái)又想,怎么不能用javascript直接連接數(shù)據(jù)庫(kù)呢?
又做了一個(gè)javascript直連Sql數(shù)據(jù)的類庫(kù)
后來(lái),又想到其實(shí)還可以用SQL語(yǔ)句來(lái)操作HTML DOM模型
再再再后來(lái),又看到了HTML5中對(duì)web DB的實(shí)現(xiàn)
所以對(duì)webDB,就是chrome和safari中的sqlite的封裝
于是乎就有了:
1.從服務(wù)器上獲取數(shù)據(jù)、執(zhí)行SQL操作:
復(fù)制代碼 代碼如下:
_SQLPROXYURL_ = 'SQLProxy.php';
_SQLSERVERHOST_ = 'localhost';
_SQLUSERNAME_ = 'root';
_SQLPASSWORD_ = '';
_SQLDATABASE_ = 'HotelManageMent';
var result = "select * from Room".OnServer().executeSQL();
for(var i=0; i<result.length; i++) {
//do something here.... using result[i];
}
2.操作Javascript Object Array 、執(zhí)行SQL操作:
復(fù)制代碼 代碼如下:
var Room = [
{
ID: 'bot',
name: 'test',
sex: true
}, {
ID: 2,
name: 'test8',
sex: true
}, {
ID: 3,
name: 'test5',
sex: false
}, {
ID: 4,
name: 'test2',
sex: true
}];
SQL = "select Max(id) as bid,Sum(id) as total from records where name like \"test%\" group by sex order by id desc,name asc";
var result = SQL.executeSQL();
for(var i=0; i<result.length; i++) {
//do something here.... using result[i];
};
"create table mytable".executeSQL();
for(var j=0; j<100; j++) {
"insert into mytable (id,name,sex) values(2,'zhangsan',true) ".executeSQL();
};
sql語(yǔ)句都寫外面了。安全嗎?
關(guān)于安全問(wèn)題首先這本身不打算做互聯(lián)網(wǎng)應(yīng)用,面向局域網(wǎng)。其次數(shù)據(jù)庫(kù)的連接有ssl加密,其實(shí)http也有ssl,再者。遠(yuǎn)程調(diào)用服務(wù)只是JSQL的四大模塊之一。還有可以不經(jīng)過(guò)服務(wù)來(lái)操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁(yè)的DOM。我這里的SQL只是代表一種語(yǔ)言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫(kù),還有三個(gè)模塊是面對(duì)前段的操作
您可能感興趣的文章:
- javascript制作sql轉(zhuǎn)換為stringBuffer的小工具
- JavaScript中操作Mysql數(shù)據(jù)庫(kù)實(shí)例
- JavaScript使用ActiveXObject訪問(wèn)Access和SQL Server數(shù)據(jù)庫(kù)
- Javascript 讀取操作Sql中的Xml字段
- Java、JavaScript、Oracle、MySQL中實(shí)現(xiàn)的MD5加密算法分享
- PHP HTML JavaScript MySQL代碼如何互相傳值的方法分享
- Javascript JSQL,SQL無(wú)處不在,
- javascript封裝的sqlite操作類實(shí)例
相關(guān)文章
如何使用TypeScript實(shí)現(xiàn)一個(gè)瀏覽器事件的集中管理
這篇文章主要介紹了使用TypeScript實(shí)現(xiàn)一個(gè)瀏覽器事件的集中管理,瀏覽器事件模型的主要優(yōu)點(diǎn)是它可以使開(kāi)發(fā)人員更加靈活地處理用戶交互,并且可以通過(guò)事件委托等技術(shù)來(lái)提高性能,本文給大家講解的非常詳細(xì),需要的朋友可以參考下2023-06-06
一文教你用純JS實(shí)現(xiàn)一個(gè)五子棋游戲
實(shí)現(xiàn)一個(gè)五子棋游戲, 簡(jiǎn)要分析其原理, 頁(yè)面并沒(méi)有很花哨, 原理搞懂了, 后面的就是很輕松的事了,本文給大家介紹了如何用純JS實(shí)現(xiàn)一個(gè)五子棋游戲,文中通過(guò)代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下2023-12-12
JavaScript模塊規(guī)范之AMD規(guī)范和CMD規(guī)范
本篇文章給大家介紹js模塊規(guī)范之AMD規(guī)范和CMD規(guī)范,模塊化是一種處理復(fù)雜系統(tǒng)分解為代碼結(jié)構(gòu)更合理,可維護(hù)性更高的可管理的模塊的方式,對(duì)js amd cmd規(guī)范感興趣的童鞋可以來(lái)本文學(xué)習(xí)2015-10-10
JavaScript undefined及null區(qū)別實(shí)例解析
這篇文章主要介紹了JavaScript undefined及null區(qū)別實(shí)例解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07
JS發(fā)起HTTP請(qǐng)求的多種方式總結(jié)
這篇文章主要為大家詳細(xì)介紹了JavaScript發(fā)起HTTP請(qǐng)求的多種方式,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2023-11-11
文章或博客自動(dòng)生成章節(jié)目錄索引(支持三級(jí))的實(shí)現(xiàn)代碼
一個(gè)好的博文除了博文的質(zhì)量要好以外,好的組織結(jié)構(gòu)也能讓讀者閱讀的更加舒服與方便,我看很多網(wǎng)站里面有一些園友的博文都是分章節(jié)的,并且在博文的前面都帶有章節(jié)的目錄索引,點(diǎn)擊索引之后會(huì)跳轉(zhuǎn)到相應(yīng)的章節(jié)閱讀2020-05-05
Open and Print a Word Document
Open and Print a Word Document...2007-06-06

