ASP.Net Web Programlama SQL ve XML Gibi DataSource Tipleri

Websql kullanımı

Gelişmiş web tarayıcılarının desteklediği websql kaynaklarından faydalanmak için bazı örnek kodlar paylaşacağım.

function Create(dbname, tablename, columns){
    if (window.openDatabase) {
        var mydb = openDatabase(dbname, "0.1", tablename, 1024 * 1024);
        mydb.transaction(function(t) {
            var cols= "";
            columns.forEach(element => {
                cols+= element + " TEXT,"
            });
            cols= cols.substr(0, cols.length-1);
            var query= "CREATE TABLE IF NOT EXISTS " + tablename +" (id INTEGER PRIMARY KEY ASC, " + cols + ")";
            t.executeSql(query);
        });
        } else {
            alert("WebSQL is not supported by your browser!");
        }
}

function Insert(dbname, tablename, columns){
    if (window.openDatabase) {
        var mydb = openDatabase(dbname, "0.1", tablename, 1024 * 1024);
        mydb.transaction(function(t) {
            var colnames="";
            var colvals="";
            columns.forEach(element => {
                colnames+= element.name +",";
                colvals+= "'" + element.val + "',";
            });
            colnames= colnames.substr(0, colnames.length-1);
            colvals= colvals.substr(0, colvals.length-1);
            var query= "INSERT INTO "+ tablename + " ("+colnames+") VALUES ("+colvals+")"; 
            console.log("insert query:" + query);
            t.executeSql(query);
        });
        } else {
            alert("WebSQL is not supported by your browser!");
    }
}

function Select(dbname, tablename){
    var funcresult=[];
    if (window.openDatabase) {
        var mydb = openDatabase(dbname, "0.1", tablename, 1024 * 1024);
        mydb.transaction(function(t) {
            var query= "SELECT * FROM " + tablename;
            t.executeSql(query, [], function(t, result){
                funcresult.push(result.rows);
            });
        }, null);
        } else {
            alert("WebSQL is not supported by your browser!");
    }
    return funcresult;
}

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir