There are three possible reasons why this error occurs: txtSample1, txtSample2, or lblId are null. Obvious, but true.
I am guessing from your code sample, that it is txtSample1, and that there should not be a space in the name you are searching for:
TextBox txtSample1 = grdvEmp.Rows[e.RowIndex].FindControl("txtEname ") as TextBox;
Becomes
TextBox txtSample1 = grdvEmp.Rows[e.RowIndex].FindControl("txtEname") as TextBox;
However, it is a very, very good idea to check these things: Always test for null after you do an
as
cast, to ensure that what you think is going in, is actually going in...
In addition, never concatenate your strings: you leave yourself wide open for an accidental or deliberate SQL injection attack which could corrupt or destroy your database. Use parametrized queries instead.