2015-10-19 2 views
-1

Я могу успешно создать адаптер для создания и вставки в sql, но обновление у меня есть сомнения ниже, это мой код, где я хочу обновить определенные значения полей на основе wrkname, и я получаю ошибка ввода.Как обновить базу данных с помощью адаптеров в mobilefirst 7.1

var updateStatement = WL.Server.createSQLStatement("UPDATE office1 SET wrkid=?, wrkname=?, empref=? WHERE wrkname=?"); 

function updateoffice(wrkid,wrkname,empref,wrkname) { 

    return WL.Server.invokeSQLStatement({ 
     preparedStatement : updateStatement, 
     parameters : [wrkid,wrkname,empref,wrkname] 
    }); 
} 
+0

Какая ошибка? Предоставьте полное сообщение об ошибке. –

+0

«Runtime: Отсутствует параметр IN или OUT в индексе :: 4. \ nПереформированный запрос: \ nUPDATE office1 SET wrkid = ?, wrkname = ?, empref =? WHERE wrkname =?" – david

ответ

0

Вам не хватает четвертого параметра, wrkname (который вы используете дважды ...)?

Например, это работает хорошо для меня:

var update = WL.Server.createSQLStatement("UPDATE users SET stdid=? WHERE userId=?"); 
function updatevaluesprocedure(stdId,userId) { 
    return WL.Server.invokeSQLStatement({ 
     preparedStatement : update, 
     parameters : [stdId,userId] 
    }); 
} 

два параметра, как ожидается, были получены два параметра.

В вашем случае ожидается четыре параметра ...

+0

Благодарю вас, я обновился и получаю новую ошибку «I O: ожидаю либо«, », либо«] »в строке 1, столбец 42». – david

+0

Нет, не отправляйте wrkname дважды в функцию() ..... –

+0

, но моя логика программы: у меня есть 3 столбца (wrkid, wrkname, empref) и строка данных («1», «fxxx», [email protected] ") и на основе wrkname =" fxxx "мне нужно изменить полную строку. Это возможно .if любое решение pls – david

Смежные вопросы