Request.QueryString["ID"] is read only collection which means that you cannot set/insert a value to the collection. But you can retrieve the value from the collection if exists. Request.QueryString is internally populated by ASP.NET when you pass query strings explicitly from a page.
The issue lies within my input for which gets the ID from the querystring to add intot he database. And if someone goes onto the page without searching where a querystring is passed, the querystring will be blank and my input form will fail if someone trys to add a record.