Try adding single quotes to the string.
SqlCommand cmd = new SqlCommand("Delete from FIRrecord where namplc2 ='" + i + "'", abc);
Here: my_data is converted to INT or a column name depending on the database server
Delete from FIRrecord where namplc2 = my_data
Here: my_data is converted to NVARCHAR
Delete from FIRrecord where namplc2 = 'my_data'
Despite that, I think your code will have problems because you changed the datagridview rows collection while iterating using the variable i.
The problem is this:
i = 0 firGridView1.Rows.Count = 4
i = 1 firGridView1.Rows.Count = 4
i = 2 firGridView1.Rows.Count = 4 // If this row is for deletion
i = 3 firGridView1.Rows.Count = 3