Redian新闻
>
sqlite3 db.close() called before db.serialized() finishes
avatar
sqlite3 db.close() called before db.serialized() finishes# Programming - 葵花宝典
d*o
1
the life of pi从导演制作到故事内涵都是一流,放在过去三年应该都是movie of
the year的热门。当然故事方面其实主要还是原著的起点高,改编水准一般,包括增加
的青涩恋情部分主要就是为了点出个lotus in the forrest而已意义相当不大。演技方
面二流,几处情节需要小阿三表演来托起的关键点都不到位,表演空间是有的,但是效
果差的太多,同时壮阔的画面也进一步削弱了人物的刻画,导致结束后绝大多数的回味
都是情节暗示意义与画面,而非人物。
然而……不幸的是,遇上了同时上映的Lincoln这一至少十年一见的经典力作。导演、
故事、内涵都是一流,表演部分无可挑剔。唯一的可能的瑕疵在于对政治复杂性的过于
简单和标签化的诠释。不过这一瑕疵可以针对几乎任何一部当代政治社会题材好莱坞电
影。Lincoln的人物不光是A Lincoln,至少对我而言,Mary Todd Lincoln和Thaddeus
Stevens更是惊艳,尤其是Sally Field对MTL复杂性的表现与解读及其到位。看完
Lincoln与Life of Pi,我只能说,人物这一电影最重要的组成部分将这两部电影归入
了两个档次——超一流与一流。
avatar
z*e
2
从爸妈那得知那时候为了生我罚了五千块钱,九十年代的五千对于当时来说就是天文数
字,愁的到处借钱。然后等到了七岁的时候冬天和小伙伴们在结冰的河上玩,看到河中
央有个冻到冰面上的葫芦,我就想过去把它弄下来玩,慢慢的滑过去,谁知道河中间的
冰结的薄,扑通一下,我一个腿掉了下去,吓的我整个人都趴在了冰面上,河水冰冷刺
骨,我不停的喊叫,小伙伴们终于听到了,明白了怎么回事,找了棍子把我拖上了岸,
算是捡回一条小命。
十二岁的时候,大年初四去姥姥家跟表哥玩,捡的没有爆的二踢脚,剥开了把里面的火
药倒出来,再配上花炮一起点着,当时也不知道脑子哪根筋短路了,居然用打火机直接
点,后果可想而知,轰的一声,整个人脸都熏黑了,头发眉毛都烧没了,手上也有烧伤
,爸妈知道后看到我这场景都吓哭了,赶快去医院。真是万幸辛亏那时候还小身体还在
生长,脸上整个脱了一层皮,没有落下疤,手上治疗的不怎么好留下了一点痕迹,现在
想就后怕,这不是作死吗,真要是毁容了这可怎么办。
再到后来在工地上实习,有次混凝土的泵车管子爆炸,我在下面测量温度,前脚离开没
三秒,管子就炸了,那威力直接把板房都打歪了,真是幸运又躲过一劫。现在上班开车
也是处处小心,活这么大真不容易。
avatar
w*s
3
i have a sqlite3 nested query case. Was hoping to push each query result to
a json array and return it back. But always get "Error: SQLITE_MISUSE:
Database handle is closed" for the 2nd select call. Seems the db.close()
gets called before the 2nd query.
Why is this, i thought serialize can take care of this. How to fix it please
?
var getMyDbInfo = function(callback) {
var db = new sqlite3.Database("MyDB.sqlite3");
db.serialize(function() {
var myJsonObj = {};
db.each("select * from Table1",
function(err, row) {
console.log("n---- 0 ----n");
// calculate doorId from row
doorId = ...
db.all("select * from Table2 where ID=" + doorId,
function(err, row2) {
console.log("---- 6 ----n");
if(err) {
console.log("-- ERR: " + err);
} else {
console.log(row2);
var myJsonElem = {ID:row.ID,
DoorName: row2.DoorName,
TimeSpec: row2.TimeSpec };
myJsonObj.data.push(myJsonElem);
}
}
);
}
);
callback(null, myJsonObj);
});
console.log("---- 10 ----n");
db.close();
};
avatar
p*d
4
这个很难比较吧,一部能引人思考,经历时间考验的影片就是超一流了.内涵应该高于形
式.演员的表演应该属于形式.
avatar
a9
5
你的db.each里面的又变成异步了。
db.serialize里面专门有针对你这种情况的说明

to
please

【在 w*s 的大作中提到】
: i have a sqlite3 nested query case. Was hoping to push each query result to
: a json array and return it back. But always get "Error: SQLITE_MISUSE:
: Database handle is closed" for the 2nd select call. Seems the db.close()
: gets called before the 2nd query.
: Why is this, i thought serialize can take care of this. How to fix it please
: ?
: var getMyDbInfo = function(callback) {
: var db = new sqlite3.Database("MyDB.sqlite3");
: db.serialize(function() {
: var myJsonObj = {};

avatar
l*1
6
真有那么好吗?为什么我周围的同事好像没人感兴趣,只有一个台湾人去看了,但是还
中途退场了。
avatar
w*s
7
大牛,能详细说说吗?俺不会

【在 a9 的大作中提到】
: 你的db.each里面的又变成异步了。
: db.serialize里面专门有针对你这种情况的说明
:
: to
: please

avatar
H*y
8
Lincoln据说很好,中国人对美国历史不感兴趣,所以看的人少。

Thaddeus

【在 d***o 的大作中提到】
: the life of pi从导演制作到故事内涵都是一流,放在过去三年应该都是movie of
: the year的热门。当然故事方面其实主要还是原著的起点高,改编水准一般,包括增加
: 的青涩恋情部分主要就是为了点出个lotus in the forrest而已意义相当不大。演技方
: 面二流,几处情节需要小阿三表演来托起的关键点都不到位,表演空间是有的,但是效
: 果差的太多,同时壮阔的画面也进一步削弱了人物的刻画,导致结束后绝大多数的回味
: 都是情节暗示意义与画面,而非人物。
: 然而……不幸的是,遇上了同时上映的Lincoln这一至少十年一见的经典力作。导演、
: 故事、内涵都是一流,表演部分无可挑剔。唯一的可能的瑕疵在于对政治复杂性的过于
: 简单和标签化的诠释。不过这一瑕疵可以针对几乎任何一部当代政治社会题材好莱坞电
: 影。Lincoln的人物不光是A Lincoln,至少对我而言,Mary Todd Lincoln和Thaddeus

avatar
a9
9
试试这样?
const db = new sqlite3.Database("MyDB.sqlite3");
db.all("select * from table1", rows => {
db.serialize(() => {
for(let i = 0; i < rows.length; i++) {
// get doorId
db.all('select * from table2 where ID=?', doorId, table2Rows =>
{
myJsonObj.data.push(myJsonElem);
})
}
db.close();
})
})

【在 w*s 的大作中提到】
: 大牛,能详细说说吗?俺不会
avatar
o*w
10
Daniel Lay Lewis, http://en.wikipedia.org/wiki/Daniel_Day-Lewis
he is exceptional in every movie he was in.

Thaddeus

【在 d***o 的大作中提到】
: the life of pi从导演制作到故事内涵都是一流,放在过去三年应该都是movie of
: the year的热门。当然故事方面其实主要还是原著的起点高,改编水准一般,包括增加
: 的青涩恋情部分主要就是为了点出个lotus in the forrest而已意义相当不大。演技方
: 面二流,几处情节需要小阿三表演来托起的关键点都不到位,表演空间是有的,但是效
: 果差的太多,同时壮阔的画面也进一步削弱了人物的刻画,导致结束后绝大多数的回味
: 都是情节暗示意义与画面,而非人物。
: 然而……不幸的是,遇上了同时上映的Lincoln这一至少十年一见的经典力作。导演、
: 故事、内涵都是一流,表演部分无可挑剔。唯一的可能的瑕疵在于对政治复杂性的过于
: 简单和标签化的诠释。不过这一瑕疵可以针对几乎任何一部当代政治社会题材好莱坞电
: 影。Lincoln的人物不光是A Lincoln,至少对我而言,Mary Todd Lincoln和Thaddeus

avatar
w*s
11
i have a sqlite3 nested query case. Was hoping to push each query result to
a json array and return it back. But always get "Error: SQLITE_MISUSE:
Database handle is closed" for the 2nd select call. Seems the db.close()
gets called before the 2nd query.
Why is this, i thought serialize can take care of this. How to fix it please
?
var getMyDbInfo = function(callback) {
var db = new sqlite3.Database("MyDB.sqlite3");
db.serialize(function() {
var myJsonObj = {};
db.each("select * from Table1",
function(err, row) {
console.log("n---- 0 ----n");
// calculate doorId from row
doorId = ...
db.all("select * from Table2 where ID=" + doorId,
function(err, row2) {
console.log("---- 6 ----n");
if(err) {
console.log("-- ERR: " + err);
} else {
console.log(row2);
var myJsonElem = {ID:row.ID,
DoorName: row2.DoorName,
TimeSpec: row2.TimeSpec };
myJsonObj.data.push(myJsonElem);
}
}
);
}
);
callback(null, myJsonObj);
});
console.log("---- 10 ----n");
db.close();
};
avatar
a9
12
你的db.each里面的又变成异步了。
db.serialize里面专门有针对你这种情况的说明

to
please

【在 w*s 的大作中提到】
: i have a sqlite3 nested query case. Was hoping to push each query result to
: a json array and return it back. But always get "Error: SQLITE_MISUSE:
: Database handle is closed" for the 2nd select call. Seems the db.close()
: gets called before the 2nd query.
: Why is this, i thought serialize can take care of this. How to fix it please
: ?
: var getMyDbInfo = function(callback) {
: var db = new sqlite3.Database("MyDB.sqlite3");
: db.serialize(function() {
: var myJsonObj = {};

avatar
w*s
13
大牛,能详细说说吗?俺不会

【在 a9 的大作中提到】
: 你的db.each里面的又变成异步了。
: db.serialize里面专门有针对你这种情况的说明
:
: to
: please

avatar
a9
14
试试这样?
const db = new sqlite3.Database("MyDB.sqlite3");
db.all("select * from table1", rows => {
db.serialize(() => {
for(let i = 0; i < rows.length; i++) {
// get doorId
db.all('select * from table2 where ID=?', doorId, table2Rows =>
{
myJsonObj.data.push(myJsonElem);
})
}
db.close();
})
})

【在 w*s 的大作中提到】
: 大牛,能详细说说吗?俺不会
avatar
w*s
15
大牛,
好了不少,我要出门给Trump做志愿者了,下次再跟你请教。
谢谢!

=>

【在 a9 的大作中提到】
: 试试这样?
: const db = new sqlite3.Database("MyDB.sqlite3");
: db.all("select * from table1", rows => {
: db.serialize(() => {
: for(let i = 0; i < rows.length; i++) {
: // get doorId
: db.all('select * from table2 where ID=?', doorId, table2Rows =>
: {
: myJsonObj.data.push(myJsonElem);
: })

avatar
w*s
16
大牛,this is the best i can get,
How to improve it please, basically i'm lost in the callback for the 2nd one.
Also the db.close() is always called before the 2nd query finishes, even i
have serialize().
var getInfo1Db = function(callback) {
var db = new sqlite3.Database("DB.sqlite3");

var cnt = 0;
var info1JsonObj = [];
db.all("select * from Info1DB",
function(err, rows) {
db.serialize(function() {
for(var ii=0, len=rows.length; ii
var t2 = rows[ii].info1;
var doorId = ...
db.all("select * from DoorDB where ObjectID=" + doorId,
function(err, row2) {
if(err) {
} else {
var doorName = row2[0]...
var info1JsonElem = {
"DoorName" : doorName
};
info1JsonObj.push(info1JsonElem);
cnt++;
if(cnt === rows.length) {
callback(null, info1JsonObj);
}
}
}
); // for the only door info based on door id
} // for each row of info1
db.close(); // why this finishes before the 2nd db.all
} ); // end of serialize
});
};

=>

【在 a9 的大作中提到】
: 试试这样?
: const db = new sqlite3.Database("MyDB.sqlite3");
: db.all("select * from table1", rows => {
: db.serialize(() => {
: for(let i = 0; i < rows.length; i++) {
: // get doorId
: db.all('select * from table2 where ID=?', doorId, table2Rows =>
: {
: myJsonObj.data.push(myJsonElem);
: })

avatar
a9
17
你得把db.close放到db.serialize的callback里面

one.

【在 w*s 的大作中提到】
: 大牛,this is the best i can get,
: How to improve it please, basically i'm lost in the callback for the 2nd one.
: Also the db.close() is always called before the 2nd query finishes, even i
: have serialize().
: var getInfo1Db = function(callback) {
: var db = new sqlite3.Database("DB.sqlite3");
:
: var cnt = 0;
: var info1JsonObj = [];
: db.all("select * from Info1DB",

avatar
e*o
18
用python搞啊
你用node不是自找苦吃

one.

【在 w*s 的大作中提到】
: 大牛,this is the best i can get,
: How to improve it please, basically i'm lost in the callback for the 2nd one.
: Also the db.close() is always called before the 2nd query finishes, even i
: have serialize().
: var getInfo1Db = function(callback) {
: var db = new sqlite3.Database("DB.sqlite3");
:
: var cnt = 0;
: var info1JsonObj = [];
: db.all("select * from Info1DB",

avatar
w*s
19
上次好像不行,明天再试试

【在 a9 的大作中提到】
: 你得把db.close放到db.serialize的callback里面
:
: one.

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。