For an INSERT statement without any column specifiers, SQL assumes that every column will have a value and all values are supplied in the exact order of the columns in the table. Using this method is bad practice. If you change the schema of the table, you break all of your code if it isn't updated properly.
You should be doing your inserts like
INSERT INTO dbo.Student_Info (Name, Address, FatherName, Class)
VALUES (@Name, @Address, @FatherName, @Class)
Note that I'm guessing at your column names and just assuming they match the names of your parameter values.