If you declare a normal asp.net Chart like this in your markup...
<asp:Chart ID="Chart1" runat="server" Height="600px" Width="900px">
<Series>
<asp:Series Name="Series1" IsValueShownAsLabel="true"></asp:Series>
</Series>
<ChartAreas>
<asp:ChartArea Name="caMain">
<Area3DStyle IsClustered="true" Enable3D="True" />
<AxisX>
<LabelStyle Interval="1" />
</AxisX>
</asp:ChartArea>
</ChartAreas>
</asp:Chart>
then you could dymanically add as many columns as you wish by just getting a DataTable from your database where the first column is your x-axis labels and your second column is your data points, so your table will look something like this...
Column A Column B
Dave 65
John 13
Then when you bind the chart you could just do something like this...
Chart1.Titles.Add("Your Chart Description");
Chart1.Series["Series1"].Points.Clear();
foreach (DataRow r in dtReport.Rows)
Chart1.Series["Series1"].Points.AddXY(r[0].ToString(), r[1].ToString());
Hope this helps....