There is an easy way out. Instead of you comparing the DataTables row by row. Let your queries do it for you. What you can do is:
1) Fetch all the roll numbers from SQL database's table having Score as NULL
SELECT RollNo FROM [profile].applicant_profile
WHERE Score IS NULL
2) Convert the result set of the above query (in Step 1) into a comma separated(csv) list.
3) Once you have this data in csv, you can query you excel sheet to provide you score of only those roll numbers (whose scores are null in database) which you fetched in your previous query.
SELECT RollNo, Score FROM Sheet1$
WHERE RollNo IN ('your csv from point 2')
4) The above query will provide you data which you can straight away update in your database. Just iterate through the data (from point 3) and update the database.
Pseudo code below:
foreach(row in datatable-from-point-3)
{
UPDATE [profile].applicant_profile
SET Score = 'row.score'
WHERE RollNo = 'row.RollNo'
}