Let's see if I can explain this well enough :-)
DroidScript uses a async database call, so, there is no result returned to your variable. This is accomplished through a callback once the sqllite query has completed.
So...
db=app.OpenDatabase("/sdcard/mydatabases/quiz.db");
var result = db.ExecuteSql('SELECT Answer FROM quiz WHERE "Question number" = 3');
txt.SetText(result);
'result' will always be undefined. To set it properly, try this:
db=app.OpenDatabase("/sdcard/mydatabases/quiz.db");
function getAnswer(i) {
db.ExecuteSql( "SELECT Answer FROM quiz WHERE Question_Number = ?;", [i], OnResult );
}
function OnResult( results )
{
var len = results.rows.length;
if (len === 0) { return alert("Question doesn't exist!");
var item = results.rows.item(0);
txt.SetText(item.Answer);
}
Called by
getAnswer(3);
or whatever answer # you may want.
Make sure your tables don't contain spaces, I'd use the underscore as I did in my example. Sqllite may permit spaces, but it is bad practice.
If you need any help, ask :-)
Chris