Если оператор не работает

Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.

function getblogpost(div) {    
    var date = $(div).find('.time').text();
    var user = $(div).find('.user').text();
    var title = $(div).find('.title').text();
    var textbody = $(div).find('.bodytext').text();
    var postid = $(div).find('.pid').text();

    var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid, 
                          [], function(transaction, result) {
                            var sqlpostid = result.rows.item(i)['postid'];
            }, null);
    if(result == NULL) {
        return;
    }
    else {
    dbsql.transaction(
    function(transaction) {
        transaction.executeSql(
        'INSERT INTO blogpost (postid, date, user, title, textbody) 
                    VALUES (?, ?, ?, ?, ?);', 
        [postid, date, user, title, textbody], 
        function() { },
        errorHandler
        );
    }
    );

    return false;
    }
}

Разве это не сработает?

Спасибо

Редактировать: function getblogpost (div) {...

Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.

function getblogpost(div) {    
    var date = $(div).find('.time').text();
    var user = $(div).find('.user').text();
    var title = $(div).find('.title').text();
    var textbody = $(div).find('.bodytext').text();
    var postid = $(div).find('.pid').text();

    var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid, 
                          [], function(transaction, result) {
                            var sqlpostid = result.rows.item(i)['postid'];
            }, null);
    if(result == NULL) {
        return;
    }
    else {
    dbsql.transaction(
    function(transaction) {
        transaction.executeSql(
        'INSERT INTO blogpost (postid, date, user, title, textbody) 
                    VALUES (?, ?, ?, ?, ?);', 
        [postid, date, user, title, textbody], 
        function() { },
        errorHandler
        );
    }
    );

    return false;
    }
}

Разве это не сработает?

Спасибо

Редактировать: function getblogpost (div) {...

Хорошо, у меня есть эта функция. что он должен делать, ища pid в sql и, если он найден, пропустить функцию и двигаться дальше, но я не думаю, что мой if statment работает правильно.

function getblogpost(div) {    
    var date = $(div).find('.time').text();
    var user = $(div).find('.user').text();
    var title = $(div).find('.title').text();
    var textbody = $(div).find('.bodytext').text();
    var postid = $(div).find('.pid').text();

    var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid, 
                          [], function(transaction, result) {
                            var sqlpostid = result.rows.item(i)['postid'];
            }, null);
    if(result == NULL) {
        return;
    }
    else {
    dbsql.transaction(
    function(transaction) {
        transaction.executeSql(
        'INSERT INTO blogpost (postid, date, user, title, textbody) 
                    VALUES (?, ?, ?, ?, ?);', 
        [postid, date, user, title, textbody], 
        function() { },
        errorHandler
        );
    }
    );

    return false;
    }
}

Разве это не сработает?

Спасибо

Редактировать: что насчет этого.

function getblogpost(div) {   
    var postid = $(div).find('.pid').text();
    var q = tx.executeSql("SELECT * FROM blogpost WHERE postid=" + postid, [], function(transaction));
    if(!q) {
        return false;
    }

    var date = $(div).find('.time').text();
    var user = $(div).find('.user').text();
    var title = $(div).find('.title').text();
    var textbody = $(div).find('.bodytext').text();

        dbsql.transaction(
            function(transaction) {
                transaction.executeSql(
                'INSERT INTO blogpost (postid, date, user, title, textbody) VALUES (?, ?, ?, ?, ?);', 
                [postid, date, user, title, textbody], 
                function() { }, 
                errorHandler
                );
            }
        );      
    return false;       
}

Здесь я пытаюсь выяснить, есть ли postid в базе данных, и если да, пропустить функцию и вернуться.

1
задан kiamlaluno 10 August 2010 в 07:20
поделиться

1 ответ

Ну, вам нужно определить NULL где-то вроде

var NULL = null;

. Без этого NULL не определено в ECMA- / Javascript.

В любом случае, зачем вам это делать? executeSql () принимает в качестве параметров два обратных вызова . Второй - для случая ошибки , который, вероятно, подходит лучше.

t.executeSql('SELECT Foobar FROM blogpost', [], function (t, r) {
  // r.rows[1].Something
}, function (t, e) {
  console.log(e.message);
});     

Например.

2
ответ дан 2 September 2019 в 22:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: