How to acces data from a database and return it as an array?
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.idn`);
);
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
add a comment |
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.idn`);
);
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
add a comment |
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.idn`);
);
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.idn`);
);
How can I transfer the arrays correctly?
javascript arrays foreach sqlite3
javascript arrays foreach sqlite3
edited Nov 11 '18 at 14:31
anja-96
asked Nov 11 '18 at 14:24
anja-96anja-96
13
13
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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.idn`);
);
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 at 15:13
|
show 1 more comment
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
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
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
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.idn`);
);
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 at 15:13
|
show 1 more comment
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.idn`);
);
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 at 15:13
|
show 1 more comment
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.idn`);
);
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.idn`);
);
edited Nov 11 '18 at 15:13
answered Nov 11 '18 at 14:50
Yaseen HussainYaseen Hussain
357
357
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 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 '18 at 14:56
Change yourdb.all
todata.db.all
and check if it's working?
– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using yourdb
argument, try changing it todata.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 at 15:13
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
unfortunately, I now get the following Error: TypeError: Cannot read property 'all' of undefined
– anja-96
Nov 11 '18 at 14:56
Change your
db.all
to data.db.all
and check if it's working?– Yaseen Hussain
Nov 11 '18 at 14:58
Change your
db.all
to data.db.all
and check if it's working?– Yaseen Hussain
Nov 11 '18 at 14:58
Wherever you are using your
db
argument, try changing it to data.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Wherever you are using your
db
argument, try changing it to data.db
– Yaseen Hussain
Nov 11 '18 at 15:00
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Still the same, but now it is "TypeError: Cannot read property 'db' of undefined"
– anja-96
Nov 11 '18 at 15:07
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 at 15:13
Please check the edited comment with update. Lemme know if it works.
– Yaseen Hussain
Nov 11 '18 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.
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