In your first statement you have closed out the VALUES before executing the SELECT, and the values should line up on the order of the INSERT; (also, your " and ' where all out of balance......
string query1 = "INSERT INTO
ESK_Products(CateogoryID,ProductName,ProductImage,UnitCost,Description)
VALUES(
(select CategoryID
from ESK_Categories
where CategoryName='" + DropDownList1.Text + "'),'" + txtproname.Text + "','" + FileUpload1.FileName + "','" + txtproprice.Text + "','" + txtprodesc.Text + "');
Is probably more closer to what it should be.