JavaScript中SQL語句的應用實現(xiàn)
更新時間:2010年05月04日 17:13:16 作者:
最近一直在用javascript在做項目 可是做著做著 感覺很多功能代碼都是重復的。
比如對javascript數(shù)組的排序
還有對數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來興致以上來。
一發(fā)不可收拾。
寫了一個能在javascript中應用的 SQL 庫
后來又想,怎么不能用javascript直接連接數(shù)據(jù)庫呢?
又做了一個javascript直連Sql數(shù)據(jù)的類庫
后來,又想到其實還可以用SQL語句來操作HTML DOM模型
再再再后來,又看到了HTML5中對web DB的實現(xiàn)
所以對webDB,就是chrome和safari中的sqlite的封裝
于是乎就有了:
1.從服務器上獲取數(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語句都寫外面了。安全嗎?
關于安全問題首先這本身不打算做互聯(lián)網(wǎng)應用,面向局域網(wǎng)。其次數(shù)據(jù)庫的連接有ssl加密,其實http也有ssl,再者。遠程調(diào)用服務只是JSQL的四大模塊之一。還有可以不經(jīng)過服務來操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁的DOM。我這里的SQL只是代表一種語言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫,還有三個模塊是面對前段的操作
還有對數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來興致以上來。
一發(fā)不可收拾。
寫了一個能在javascript中應用的 SQL 庫
后來又想,怎么不能用javascript直接連接數(shù)據(jù)庫呢?
又做了一個javascript直連Sql數(shù)據(jù)的類庫
后來,又想到其實還可以用SQL語句來操作HTML DOM模型
再再再后來,又看到了HTML5中對web DB的實現(xiàn)
所以對webDB,就是chrome和safari中的sqlite的封裝
于是乎就有了:
1.從服務器上獲取數(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語句都寫外面了。安全嗎?
關于安全問題首先這本身不打算做互聯(lián)網(wǎng)應用,面向局域網(wǎng)。其次數(shù)據(jù)庫的連接有ssl加密,其實http也有ssl,再者。遠程調(diào)用服務只是JSQL的四大模塊之一。還有可以不經(jīng)過服務來操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁的DOM。我這里的SQL只是代表一種語言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫,還有三個模塊是面對前段的操作
相關文章
如何使用TypeScript實現(xiàn)一個瀏覽器事件的集中管理
這篇文章主要介紹了使用TypeScript實現(xiàn)一個瀏覽器事件的集中管理,瀏覽器事件模型的主要優(yōu)點是它可以使開發(fā)人員更加靈活地處理用戶交互,并且可以通過事件委托等技術來提高性能,本文給大家講解的非常詳細,需要的朋友可以參考下2023-06-06
JavaScript模塊規(guī)范之AMD規(guī)范和CMD規(guī)范
本篇文章給大家介紹js模塊規(guī)范之AMD規(guī)范和CMD規(guī)范,模塊化是一種處理復雜系統(tǒng)分解為代碼結(jié)構更合理,可維護性更高的可管理的模塊的方式,對js amd cmd規(guī)范感興趣的童鞋可以來本文學習2015-10-10
JavaScript undefined及null區(qū)別實例解析
這篇文章主要介紹了JavaScript undefined及null區(qū)別實例解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-07-07
文章或博客自動生成章節(jié)目錄索引(支持三級)的實現(xiàn)代碼
一個好的博文除了博文的質(zhì)量要好以外,好的組織結(jié)構也能讓讀者閱讀的更加舒服與方便,我看很多網(wǎng)站里面有一些園友的博文都是分章節(jié)的,并且在博文的前面都帶有章節(jié)的目錄索引,點擊索引之后會跳轉(zhuǎn)到相應的章節(jié)閱讀2020-05-05
Open and Print a Word Document
Open and Print a Word Document...2007-06-06

