razormad te da una buena idea.
Otra es guardar los valores de tu consulta a la Base en un objeto DataTable, y luego asignar ese DataTable como DataSource de tu DDL.
Código:
DataTable dtResultados = metodoConsultaBD();
tuDDL.DataSource = dtResultados;
//Aqui viene algo interesante, pq el DDL trae dos propiedades q debes asignar cuando le 'echas' un DataSource
tuDDL.DataTextField = "campoQueSeMuestra"; // Aqui asignas el campo q trae la descripcion de los elementos
tuDDL.DataValueField = "campoQueIdentificaLosItems"; //Aqui le dices q campo es la 'llave' para cada elemento
Cual es la ventaja de este método respecto del Items.Add??
A mi forma de ver es q esas propiedades te sirven mucho cuando quieres realizar más procesos, puesto q les puedes hacer referencia directamente:
tuDDL.SelectedValue,
tuDDL.SelectedText... cosa de q le investigues poco más.
Cualquier duda, estamos al pendiente.