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)文章
js實(shí)現(xiàn)瀑布流觸底動(dòng)態(tài)加載數(shù)據(jù)
這篇文章主要為大家詳細(xì)介紹了js實(shí)現(xiàn)瀑布流觸底動(dòng)態(tài)加載數(shù)據(jù),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09關(guān)于JS中的方法是否加括號(hào)的問(wèn)題
在我們js編寫程序的時(shí)候,我們會(huì)寫很多函數(shù)然后調(diào)用它們,那么這些函數(shù)調(diào)用的時(shí)候什么時(shí)候加()什么時(shí)候不加()呢?下面小編給大家簡(jiǎn)單介紹下2016-07-07javascript實(shí)現(xiàn)下雪效果【實(shí)例代碼】
下面小編就為大家?guī)?lái)一篇javascript實(shí)現(xiàn)下雪效果【實(shí)例代碼】。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考2016-05-05利用Angularjs和Bootstrap前端開(kāi)發(fā)案例實(shí)戰(zhàn)
這篇文章主要為大家介紹了利用Angularjs和Bootstrap前端開(kāi)發(fā)案例實(shí)戰(zhàn),感興趣的小伙伴們可以參考一下2016-08-08JavaScript實(shí)現(xiàn)拼圖式滑塊驗(yàn)證功能
滑塊驗(yàn)證碼是在網(wǎng)站、APP等應(yīng)用中常見(jiàn)的一種驗(yàn)證方式,通過(guò)按照一定規(guī)則滑動(dòng)滑塊到指定位置完成驗(yàn)證,才可以進(jìn)行下一步操作,本文給大家分享基于JavaScript實(shí)現(xiàn)拼圖式滑塊驗(yàn)證功能,感興趣的朋友一起看看吧2022-06-06