Member 13348179 Ответов: 1

Как связать строку с результирующим набором


var query=" SELECT * FROM measurements WHERE project_type=? AND project_id= ? AND subproject=? LIMIT 1";



$cordovaSQLite.execute(db, query, ['SMBH',$scope.proj1,'DRILLING AND COMPLETION OF 5 INCH DIAMETER BOREHOLE BASEMENT']).then(function(result) {

$scope.results=[]; 

if(result.rows.length >0){

for(var i=0; i<result.rows.length; i++){
   //alert("items exists");
sub["add"] = result.rows.item(i).address;
sub["award"] = result.rows.item(i).date_awarded;
sub["rep"] = result.rows.item(i).reporter_id;
sub["contr"]= result.rows.item(i).contractor_id;
for(var m=1; m<=49;m++){
var l="l";
sub["l"+m] = result.rows.item(i).l1;//FETCHES THE RESULT
sub["l"+m] = result.rows.item(i)+l+m;//DOESN'T FETCH THE RESULT

sub["b"+m] = result.rows.item(i).b1;//FETCHES THE RESULT
sub["d"+m] = result.rows.item(i).d+m;//DOESN't FETCH THE RESULT
sub["num"+m] = result.rows.item(i).num1;//FETCHES THE RESULT
sub["cr"+m] = result.rows.item(i).certified_rate1;//FETCHES THE RESULT


Что я уже пробовал:

саб["д"+М] = результат.строк.подпункт(I).д+М;
саб["д"+М] = результат.строк.подпункт(I)."д"+М;
саб["д"+М] = результат.строк.подпункт(I).д+[М];
саб["д"+М] = результат.строк.подпункт(I)+"."+д+[М];

1 Ответов

Рейтинг:
10

Kornfeld Eliyahu Peter

sub["l"+m] = result.rows.item(i).l1;//FETCHES THE RESULT
sub["l"+m] = result.rows.item(i)+l+m;//DOESN'T FETCH THE RESULT

Эта первая строка получает член, называемый " l1 "элемента, в то время как вторая получает объект item и пытается добавить к нему" l " и "1", это действительно не одно и то же...
Вы можете использовать здесь тот факт, что члены в JavaScript могут быть доступны двумя способами...
Оператор. (точка) - как вы это делаете в первой строке
и [] - как вы используете с массивами (это работает, потому что JavaScript представляет объект как хэш-таблицу, где имя члена является ключом)
Поэтому вы можете написать вторую строчку так:
sub[l + m] = result.rows.item(i)[l + m];


Member 13348179

Спасибо большое kornfield я получил это работает таким образом саб["Л"+М] = результат.строк.подпункт(I)['Л'+М];

Поправка принята.