Hola,
Elabora un procedimiento almacenado , en la que unirás los tres campos , adicionalmente recuperes el PrimaryKey de la tabla.
Código PHP:
create procedure app001
as
begin
select appPaterno+' '+appMaterno+' '+nombre as nombres, codigo from tb_productores
end
Para el Combo:
1.- crear una clase Productores
Código PHP:
public class productores
{
public DataTable ListarProd()
{
Conexion cnn = new Conexion();
SqlConnection cn = new SqlConnection(cnn.LeerCadenaConexion());
SqlCommand cmd = new SqlCommand("app001", cn);
cmd.Connection = cn;
cmd.CommandType = CommandType.StoredProcedure;
try
{
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable tb = new DataTable();
da.Fill(tb);
return(tb);
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
finally
{
cn.Dispose();
cmd.Dispose();
}
}
}
2.- Evento Load del Formulario :
Código PHP:
productores prod01 = new productores();
combo1.DataSource = prod01.ListarProd();
combo1.DisplayMember="nombres";
combo1.ValueMember = "codigo";
3.- Cargarán tus datos al Combo.
Si no lo quieres hacer con SP.
Tambien podrias enviar la cadena SQL de esa manera.
Saludos.