我目前正在尝试使用节点,到目前为止它很好, 但我的问题是我查询数据库,我得到了结果。 但是当我尝试写文件时我会收到错误,
我试过这种方式
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();
});
我不知道我做错了什么,我现在花了几个小时看 任何建议或想法
提前致谢
答案 0 :(得分:0)
第一种写作方法应该没问题。
你在编写数组元素时是不是想编写它?
尝试
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)
答案 1 :(得分:0)
我找到了一种方法来获取它,写入文件,当我得到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!');
});
}
我要感谢那些帮助过我的人并给了我其他尝试的方法 非常感谢你