NODEjs - 将数据从mysql写入文件
我目前正在尝试使用节点,并且迄今为止它不错, 但我的问题是我查询数据库,然后得到结果。 但是当我尝试写文件我得到的错误,NODEjs - 将数据从mysql写入文件
我已经试过这样
fs.writeFile('table.txt', rows,
function (err) {
if (err) throw err;
console.log('Saved!');
});
和另一种方式
var stream = fs.createWriteStream("my_file.txt");
stream.once('open', function(fd) {
for (var i = 0;i < rows.length; i++) {
stream.write('test: ', rows[i].i);
}
stream.write("My first row\n");
stream.write("My second row\n");
stream.end();
});
我不知道我做错了,我现在花几个小时看 任何建议或想法的
在此先感谢
第一种书写方法应该没问题。
你不是在写数组元素时写数组元素吗?
尝试
fs.writeFile('table.txt', rows.join('\n'), function (err) {
if (err) throw err;
console.log('Saved!');
});
如果不行,写行的输出。
console.log(typeof(rows))
关于你的第二个写作方法,第二个“我”在你行似乎是一个错字这可能会导致意想不到的结果。
stream.write('test: ', rows[i].i)
嗨,谢谢你的答复,我会给你的代码尝试,它确实使感觉,但我也尝试了另一种方式,这是行得通的,我所做的是把结果放在一个变量 – user2115506 2015-04-09 14:31:30
中,然后添加它的例子:var fite =''; ('C:test.txt',fite,function(err){if(err)){if(err)if(err )throw err; console.log('Saved!'); }); 但我打算给你的代码一个尝试,因为它是很好的了解不同的方式。再次感谢您 – user2115506 2015-04-09 14:32:14
如果您发现有效,您可以添加自己的答案。 – Baart 2015-04-10 07:43:06
我已经找到一种方式来获得它,写入文件,当我得到的SQL结果,我遍历它追加到一个变量,然后我写到这里的文件是一个例子
connection.query('SELECT * FROM Table',
function(err, rows, fields){ if(err) {
throw err;
}else{
var fite = '';
for (var i in rows) {
fite += rows[i].field1 + '\t';
fite += rows[i].field2 + '\n';
}
fs.writeFile('C:\\folder\\test.txt', fite, function (err) {
if (err) throw err;
console.log('Saved!');
});
}
,我想感谢那些ü帮助我,给了我其他的方法来尝试 非常感谢你
检查权限。你得到什么错误? – shahmanthan9 2015-04-03 10:56:00
权限是好的,我得到的数据,这只是写入文件时的错误,如果我做到了第一种方式我得到[对象对象],[对象对象],[对象对象],如果我做了第二种方式,我得到TypeError:未知的编码: 在Buffer.write(buffer.js:441:13) – user2115506 2015-04-03 11:01:48
试试这个,可能会帮助你:http://stackoverflow.com/questions/17188337/nodejs-csv-data-export-system- for-users – shahmanthan9 2015-04-03 11:09:19