2017-08-11 3 views
0

Ich versuche, einen vorhandenen Datensatz in einer TAFFY-Datenbank zu aktualisieren.Taffydb Update funktioniert nicht

Ich füge einen einzelnen Datensatz, dann versuchen, es zu aktualisieren, aber das Update dauert nicht.

var cSheetXref = TAFFY(); 

cSheetXref.insert({ 
    "ID":0, 
    "vendor":"", 
    "productType":"", 
    "itemCode":"", 
    "productName":"", 
    "activeIngredient":"", 
    "cost":"", 
    "retailPrice":"", 
    "um":"", 
    "packagingSize":"", 
    "rate":"" 
});  

$(document).on("click","#update",function(){ 
    var dbCol="itemCode"; 
    ttitle="example text"; 
    cSheetXref({"ID":0}).update({dbCol:ttitle}); 

    cSheetXref("ID",0).each(function (record,recordnumber) {   
    $("#results").html(""); 
    $("#results").append("result: "+record["ID"] +"<br>"); 
    $("#results").append("result: "+record["itemCode"]); 
    }); 

}) 

Ich habe auch versucht,

cSheetXref({"ID":{is:0}}).update({dbCol:ttitle});   

jsfiddle

später hinzugefügt Das Problem ist, dass ich eine Variable mit dem Spaltennamen an den Update-Befehl bin vorbei. Wenn ich eine Konstante verwende, wie diese:

cSheetXref({"ID":0}).update({"itemCode":ttitle}); 

es funktioniert. Ist es möglich, eine Variable an den Update-Befehl zu übergeben?

Antwort

1

Sie haben das Problem bereits behoben, {dbCol: ttitle} ist aus dem normalen Json-Wissen dasselbe wie {"dbCol": ttitle}, das natürlich nicht zu irgendeiner Spalte in Ihrer Datenbank auflöst. Wenn Sie eine Variable erstellen möchten, dann verwenden Sie:

var item={}; 
var dbCol="itemCode"; 
var ttitle="example text"; 
item[dbCol] = ttitle; 
    cSheetXref({"ID":0}).update(item);