JavaScript中SQL語句的應(yīng)用實現(xiàn)
更新時間:2010年05月04日 17:13:16 作者:
最近一直在用javascript在做項目 可是做著做著 感覺很多功能代碼都是重復(fù)的。
比如對javascript數(shù)組的排序
還有對數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來興致以上來。
一發(fā)不可收拾。
寫了一個能在javascript中應(yīng)用的 SQL 庫
后來又想,怎么不能用javascript直接連接數(shù)據(jù)庫呢?
又做了一個javascript直連Sql數(shù)據(jù)的類庫
后來,又想到其實還可以用SQL語句來操作HTML DOM模型
再再再后來,又看到了HTML5中對web DB的實現(xiàn)
所以對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語句都寫外面了。安全嗎?
關(guān)于安全問題首先這本身不打算做互聯(lián)網(wǎng)應(yīng)用,面向局域網(wǎng)。其次數(shù)據(jù)庫的連接有ssl加密,其實http也有ssl,再者。遠程調(diào)用服務(wù)只是JSQL的四大模塊之一。還有可以不經(jīng)過服務(wù)來操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁的DOM。我這里的SQL只是代表一種語言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫,還有三個模塊是面對前段的操作
還有對數(shù)組數(shù)據(jù)的刪選以及分組
所以,后來興致以上來。
一發(fā)不可收拾。
寫了一個能在javascript中應(yīng)用的 SQL 庫
后來又想,怎么不能用javascript直接連接數(shù)據(jù)庫呢?
又做了一個javascript直連Sql數(shù)據(jù)的類庫
后來,又想到其實還可以用SQL語句來操作HTML DOM模型
再再再后來,又看到了HTML5中對web DB的實現(xiàn)
所以對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語句都寫外面了。安全嗎?
關(guān)于安全問題首先這本身不打算做互聯(lián)網(wǎng)應(yīng)用,面向局域網(wǎng)。其次數(shù)據(jù)庫的連接有ssl加密,其實http也有ssl,再者。遠程調(diào)用服務(wù)只是JSQL的四大模塊之一。還有可以不經(jīng)過服務(wù)來操作客戶端objects array,瀏覽器的sqlite和網(wǎng)頁的DOM。我這里的SQL只是代表一種語言規(guī)范,適合但不局限于后端的sql數(shù)據(jù)庫,還有三個模塊是面對前段的操作
相關(guān)文章
js實現(xiàn)瀑布流觸底動態(tài)加載數(shù)據(jù)
這篇文章主要為大家詳細介紹了js實現(xiàn)瀑布流觸底動態(tài)加載數(shù)據(jù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-09-09利用Angularjs和Bootstrap前端開發(fā)案例實戰(zhàn)
這篇文章主要為大家介紹了利用Angularjs和Bootstrap前端開發(fā)案例實戰(zhàn),感興趣的小伙伴們可以參考一下2016-08-08