title: Can't set headers after they are sent on express
body: <p>I khow like a common question here on. But I couldn't get a solution from everywhere. 
  here is my code: if row is not empty then render code page, otherwise perform another action. </p>
  
  <pre><code>app.get('/send',function(req,res){
    var code=req.query['c']; // -- get request from input
    connection.query("use mynum");
    var strQuery = "select * from table WHERE code='"+code+"' LIMIT 1";   
    connection.query( strQuery, function(err, rows){
      if(err) {
        throw err;
      }else{
        if(rows.length==1){
          res.render('pages/code', {code : rows[0].code});
          connection.end();
          res.end();
        }else {
          // here is some actions
        }
      }
    });
    res.end();
  });
  </code></pre>
  
  <p>the stack trace: </p>
  
  <pre><code>Error: Can't set headers after they are sent.
  at ServerResponse.OutgoingMessage.setHeader (http.js:690:11)
  at ServerResponse.header (C:\wamp\www\vin_number\node_modules\express\lib\re
  sponse.js:666:10)
  at ServerResponse.res.contentType.res.type (C:\wamp\www\vin_number\node_modu
  les\express\lib\response.js:532:15)
  at ServerResponse.send (C:\wamp\www\vin_number\node_modules\express\lib\resp
  onse.js:121:14)
  at fn (C:\wamp\www\vin_number\node_modules\express\lib\response.js:900:10)
  at View.exports.renderFile [as engine] (C:\wamp\www\vin_number\node_modules\
  ejs\lib\ejs.js:323:3)
  at View.render (C:\wamp\www\vin_number\node_modules\express\lib\view.js:93:8
  )
  at EventEmitter.app.render (C:\wamp\www\vin_number\node_modules\express\lib\
  application.js:530:10)
  at ServerResponse.res.render (C:\wamp\www\vin_number\node_modules\express\li
  b\response.js:904:7)
  at Query._callback (C:\wamp\www\vin_number\server.js:102:6)
  </code></pre>