You can set it like this:
oListItem["URL"] = String.Format("{0}, {1}", mainurl, "Description");
It's a simple string, where and URL value is followed by a description which isare separated by a comma.
Or you can use a more object oriented approach:
var value = new SPFieldUrlValue(mainurl);
value.Description = "Description";
oListItem["URL"] = value;
Whichever suits you :)