Кажется, ваша функция редактирования ожидает только идентификатор, но вы передаете объект. Предполагая, что req.params.id
действительно содержит идентификатор, попробуйте одну из следующих возможностей:
отредактируйте файл маршрутизатора:
model.edit( req.params.id , function(err, rows, fields){ ... })
// or
var user={ id: req.params.id}
model.edit( user.id , function(err, rows, fields){ ... })
ИЛИ
отредактируйте и маршрутизатор, и файл модели:
// router file
var user={ id: req.params.id}
model.edit(user, function(err, rows, fields){ ... })
// model file
User.prototype.edit = function(user_id_object){
connection.query('SELECT * FROM users WHERE id = ? ',[user_id_object.id],function(err, result, fields) { .... })
}
WSAStartup () загружает dlls необходимое. Но если dll уже загружается, WSAStartup () просто увеличивает счетчик. WSACleanup () уменьшает счетчик и освобождает dll, после того как счетчик достигает нуля.
Необходимо назвать WSAStartup () в init функции приложения и WSACleanup () прямо перед выходом из приложения.
Используйте RAII для загрузки их только однажды, когда приложение запускается и затем освободить их, когда Вы выходите...
Просто назовите WSAStartup однажды и никогда не мойтесь. Серьезно, это - своего рода часть оставшейся архитектуры от Win3.1 и Win32s.