How to acces data from a database and return it as an array?
up vote
0
down vote
favorite
I'm new to Javascript and I have to solve a task for my Homework.
I have to get specific data (album titles and the album IDs) from a Database in one class, return this Data to another class and format it with template literals there.
getAlbums: function (db) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
db.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
this is the function where I get the data from the database. When I put a console.log(title)
inside the db.all
function, the titles array is filled correctly. But it does not return this array to the other class, I get an error:
TypeError: Cannot read property 'forEach' of undefined.
If I put a console.log(title)
outside the db.all
function, it returns an empty array and I don't get an error. The output is just undefined
.
The method call in my other class:
showAlbum: function (db) {
let albumID = model.getAlbums(db);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
add a comment |
up vote
0
down vote
favorite
I'm new to Javascript and I have to solve a task for my Homework.
I have to get specific data (album titles and the album IDs) from a Database in one class, return this Data to another class and format it with template literals there.
getAlbums: function (db) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
db.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
this is the function where I get the data from the database. When I put a console.log(title)
inside the db.all
function, the titles array is filled correctly. But it does not return this array to the other class, I get an error:
TypeError: Cannot read property 'forEach' of undefined.
If I put a console.log(title)
outside the db.all
function, it returns an empty array and I don't get an error. The output is just undefined
.
The method call in my other class:
showAlbum: function (db) {
let albumID = model.getAlbums(db);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I'm new to Javascript and I have to solve a task for my Homework.
I have to get specific data (album titles and the album IDs) from a Database in one class, return this Data to another class and format it with template literals there.
getAlbums: function (db) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
db.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
this is the function where I get the data from the database. When I put a console.log(title)
inside the db.all
function, the titles array is filled correctly. But it does not return this array to the other class, I get an error:
TypeError: Cannot read property 'forEach' of undefined.
If I put a console.log(title)
outside the db.all
function, it returns an empty array and I don't get an error. The output is just undefined
.
The method call in my other class:
showAlbum: function (db) {
let albumID = model.getAlbums(db);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
I'm new to Javascript and I have to solve a task for my Homework.
I have to get specific data (album titles and the album IDs) from a Database in one class, return this Data to another class and format it with template literals there.
getAlbums: function (db) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
db.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
this is the function where I get the data from the database. When I put a console.log(title)
inside the db.all
function, the titles array is filled correctly. But it does not return this array to the other class, I get an error:
TypeError: Cannot read property 'forEach' of undefined.
If I put a console.log(title)
outside the db.all
function, it returns an empty array and I don't get an error. The output is just undefined
.
The method call in my other class:
showAlbum: function (db) {
let albumID = model.getAlbums(db);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
javascript arrays foreach sqlite3
edited Nov 11 at 14:31
asked Nov 11 at 14:24
anja-96
13
13
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
0
down vote
Try changing your JS code to the following.
getAlbums: function (data) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
data.data.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
then
showAlbum: function (data) {
let albumID = model.getAlbums(data.data);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
|
show 1 more comment
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
0
down vote
Try changing your JS code to the following.
getAlbums: function (data) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
data.data.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
then
showAlbum: function (data) {
let albumID = model.getAlbums(data.data);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
|
show 1 more comment
up vote
0
down vote
Try changing your JS code to the following.
getAlbums: function (data) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
data.data.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
then
showAlbum: function (data) {
let albumID = model.getAlbums(data.data);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
|
show 1 more comment
up vote
0
down vote
up vote
0
down vote
Try changing your JS code to the following.
getAlbums: function (data) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
data.data.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
then
showAlbum: function (data) {
let albumID = model.getAlbums(data.data);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
Try changing your JS code to the following.
getAlbums: function (data) {
sql = `SELECT DISTINCT Title, AlbumId FROM albums`;
let title = , id = ;
data.data.all(sql, , (err, rows) => {
if (err) throw err;
rows.forEach((row)=>{
title.push(row.Title);
id.push(row.AlbumId);
});
});
return [title, id];
}
then
showAlbum: function (data) {
let albumID = model.getAlbums(data.data);
//let album = "";
//let albId = "";
albumID.forEach((element) => {
//album = element.title;
//albId = element.id;
console.log(`Albumtitle: ${element.title} AlbumID: ${element.id}n`);
});
}
edited Nov 11 at 15:13
answered Nov 11 at 14:50
Yaseen Hussain
114
114
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
|
show 1 more comment
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 at 14:56
Change your
db.all
to data.db.all
and check if it's working?– Yaseen Hussain
Nov 11 at 14:58
Change your
db.all
to data.db.all
and check if it's working?– Yaseen Hussain
Nov 11 at 14:58
Wherever you are using your
db
argument, try changing it to data.db
– Yaseen Hussain
Nov 11 at 15:00
Wherever you are using your
db
argument, try changing it to data.db
– Yaseen Hussain
Nov 11 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 at 15:13
|
show 1 more comment
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53249662%2fhow-to-acces-data-from-a-database-and-return-it-as-an-array%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown